我知道如何更改与支持的最低OS IPHONEOS_DEPLOYMENT_TARGET
。 我目前的Xcode 4.5下开发和使用了iOS 6.0 SDK。
我想要做的是找到一种方法,每当我使用标代码扔在编译警告:NS_AVAILABLE_IOS(6_0)
所以,我可以保证我不会错过会崩溃用户的设备的任何“是的,但你在iOS 5,所以不要使用此代码”区域。
我知道如何更改与支持的最低OS IPHONEOS_DEPLOYMENT_TARGET
。 我目前的Xcode 4.5下开发和使用了iOS 6.0 SDK。
我想要做的是找到一种方法,每当我使用标代码扔在编译警告:NS_AVAILABLE_IOS(6_0)
所以,我可以保证我不会错过会崩溃用户的设备的任何“是的,但你在iOS 5,所以不要使用此代码”区域。
NS_AVAILABLE_IOS(6_0)
被定义为__attribute((unavailable))
当SDK是比6.0 ...但是当SDK是6.0或更高版本的定义是什么。
所以只要你用SDK 6.0编译,将有概念上#define NS_AVAILABLE_IOS(6_0) /* noop */
所以你将不能够检测到任何东西。
唯一的选择是重新定义IPHONE_OS_VERSION_MAX_ALLOWED
欺骗编译器,使其认为它使用的是较旧的SDK,但我什至不知道,有可能重新定义它很快在之前NSObjCRuntime.h
和AvailabilityMacros.h
包括头。