Mir*_*iro 3 xcode conditional-compilation
我有一个团队正在研究一些IOS代码.一位开发人员(我)拥有Xcode6-beta和几行IOS8特定代码.当另一个Xcode5的开发人员为IOS7构建它时,编译失败,因为他不存在IOS8 SDK.
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0){
// ios8 code
} else {
// ios7 and less way
}
Run Code Online (Sandbox Code Playgroud)
有没有办法忽略基于SDK或Xcode版本的Xcode编译中的IOS8代码,以便编译?
是的,您可以使用指令执行此操作:
#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED
// target is iOS
#if __IPHONE_OS_VERSION_MIN_REQUIRED < 80000
// target is lower than iOS 8.0
#else
// target is at least iOS 8.0
#endif
#endif
Run Code Online (Sandbox Code Playgroud)
这类似于自动注释掉不需要的代码行.Compiller不包含存储在if语句中8.0特定部分的所有内容.
| 归档时间: |
|
| 查看次数: |
1070 次 |
| 最近记录: |