Xcode 6.x 上開發的APP 可能會出現 :app
"Unable to create description in descriptionForLayoutAttribute_layoutItem_coefficient. Something is nil"ui
//由於偷懶使用了reset to suggested constraints, autolayout 幫我自動加了baseline的constraints,而baseline只有iOS8之後纔有,兼容iOS7就崩潰了,直接移除baseline相關的constraint便可。spa
一、baselinecode
崩潰信息:'Unable to create description in descriptionForLayoutAttribute_layoutItem_coefficient. Something is nil'
orm
緣由
由於偷懶使用了reset to suggested constraints, autolayout 幫我自動加了baseline的constraints,而baseline只有iOS8之後纔有,兼容iOS7就崩潰了,直接移除baseline相關的constraint便可。ip
二、[[UINavigationBar appearance] setTranslucent:NO]開發
崩潰信息get
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** Illegal property type, c for appearance setter, _installAppearanceSwizzlesForSetter:'
緣由
iOS8.0以後[UINavigationBar appearance]才能夠setTranslucent,兼容iOS7須要添加判斷it
if(IOS8_OR_LATER && [UINavigationBar conformsToProtocol:@protocol(UIAppearanceContainer)]) {
[[UINavigationBar appearance] setTranslucent:NO];
}
三、storyboard segue show
異常現象
sb裏segue使用show
在iOS8下是正常push的
iOS7下變成從底部推出的,並且沒有navigation
緣由
在iOS7下若是沒有設置navigationController爲initController,show會自動將push轉換成modal。簡而言之就是在sb裏每一個show的segue,必須保證它的初始位置有個navigationController。
四、constrain to margin
異常現象
使用tableview頂部會出現不正常的空白
緣由這是設置了constrain to margins的關係,這玩意也是iOS8後纔有的,把這個鉤去掉,就OK了