2

在 iOS 项目中创建新目标后,会出现大量弃用警告。我也想在其他目标中看到这些。

我已经搜索了我的整个项目deprecated(正如这个答案所表明的那样)并且我也寻找过-W(如此所述),并发现我确实这样做了:

#pragma clang diagnostic ignored "-Warc-performSelector-leaks"

在一两个地方,但不是这样。我已经查看了大多数关于抑制警告的答案,但我还没有找到我在哪里关闭它。

还有什么地方可以关闭弃用警告?我想重新打开我的警告。

例子

这应该会导致警告:

self.numericLabel.lineBreakMode = UILineBreakModeClip;// NSLineBreakByClipping;
4

1 回答 1

2

因为默认情况下评论是折叠起来的,有时会被遗漏,所以我用一个例子来详细说明 Greg 的评论。

仅当您的部署目标比 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 中

于 2013-09-17T14:55:02.700 回答