在iOS项目中创建新的目标后,会有大量的弃用警告。 我也想在其他目标中看到这些。
我搜索了我的整个项目deprecated
(正如this answer所示)并且我还查找了-W
(如上所述here),并找到了我这样做了:
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
在一两个地方,但不是这样。我已经查看了关于抑制警告的大多数答案,但我还没有找到关闭它的地方。
其他地方的弃用警告可能会被关闭吗?我想重新发出警告。
示例
这会导致警告:
self.numericLabel.lineBreakMode = UILineBreakModeClip;// NSLineBreakByClipping;
答案 0 :(得分:2)
由于评论默认折叠,有时会被遗漏,我正在详细阐述格雷格的评论。
只有当您的部署目标比首次弃用API时,才会打印弃用警告。
Example 1:
Using: [TWTweetComposeViewController canSendTweet]
Deprecation in Apple's document:NS_DEPRECATED(NA, NA, 5_0, 6_0)
Deployment Target: iOS 5.0
iOS SDK: 6.1
Warning: No
Example 2:
Using: [TWTweetComposeViewController canSendTweet]
Deprecation in Apple's document:NS_DEPRECATED(NA, NA, 5_0, 6_0)
Deployment Target: iOS 6.1
iOS SDK: 6.1
Warning: Yes
在Example1中,苹果的弃用文档指出api是在iOS 5.0中引入的,在iOS 6.0中已弃用。所以尽管我的iOS SDK(xcode)是6.1,但由于我的部署目标是需要api的iOS 5.0,我没有得到任何警告。
在Example2中,我将部署目标更改为iOS 6.1,并且警告已开始显示。
结论:部署目标通常是您希望应用支持的最低iOS版本。如果将其设置为在弃用API之后的版本,则警告将开始显示在Xcode中