【发布时间】:2017-05-11 12:58:13
【问题描述】:
this question 的答案似乎不适用于 xcode 4.5。总而言之,XCode 有没有办法警告仅在部署目标之后的版本才可用的类、方法和过程?
【问题讨论】:
标签: objective-c ios xcode warnings
this question 的答案似乎不适用于 xcode 4.5。总而言之,XCode 有没有办法警告仅在部署目标之后的版本才可用的类、方法和过程?
【问题讨论】:
标签: objective-c ios xcode warnings
在您链接的问题中也有正确答案。通过一些实验,我想出了这个(来自 mattjgalloway 的回答):
#define __AVAILABILITY_TOO_NEW __attribute__((deprecated("TOO NEW!"))) __attribute__((weak_import))
#if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_6_0
#undef __AVAILABILITY_INTERNAL__IPHONE_6_0
#define __AVAILABILITY_INTERNAL__IPHONE_6_0 __AVAILABILITY_TOO_NEW
#endif
然后重复所有有意义的版本(即 Xcode 4.5 的 4.3 及更高版本)。 __IPHONE_OS_VERSION_MIN_REQUIRED 宏将检查部署目标。
【讨论】:
ABAddressBookCreateWithOptions 的警告,但没有(NSString *)capitalizedStringWithLocale:(NSLocale *)locale 的警告,它们都是 iOS 6.0 中的新功能。
这个工具可以在你的项目中找到新的 API 调用:http://www.deploymateapp.com/
【讨论】: