我知道如何更改 IPHONEOS_DEPLOYMENT_TARGET
支持的最低操作系统。我目前正在 Xcode 4.5 下进行开发并使用 iOS 6.0 SDK。
我想做的是找到一种方法,每当我使用标记的代码时在编译中抛出警告: NS_AVAILABLE_IOS(6_0)
这样我就可以确保不会错过任何会导致用户设备崩溃的“是的,但您使用的是 iOS 5,所以不要使用此代码”区域。
最佳答案
当 SDK 低于 6.0 时,
NS_AVAILABLE_IOS(6_0)
定义为 __attribute((unavailable))
...但当 SDK 为 6.0 或更高版本时,定义为空.
因此,只要您使用 SDK 6.0 进行编译,概念上就会有 #define NS_AVAILABLE_IOS(6_0)/* noop */
,因此您将无法检测到任何内容。
唯一的选择是重新定义IPHONE_OS_VERSION_MAX_ALLOWED
来欺骗编译器并使其认为它使用较旧的SDK,但我什至不确定是否可以在之前重新定义它包含 >NSObjCRuntime.h
和 AvailabilityMacros.h
header 。
关于iphone - 编码时捕获 NS_AVAILABLE_IOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12691673/