iOS Xcode : Warn about methods not in minimum target SDK

标签 ios xcode sdk

当我调用的方法在最低支持目标的 SDK 中不可用时,有没有办法让 Xcode 告诉我?

例如方法[NSURLConnection sendAsynchronousRequest:queue:completionHandler:]。此方法适用于 iOS5 及更高版本。但是我的应用程序的最低目标是 iOS4。

如果我使用该方法 (sendAsync),我希望 Xcode 告诉我该方法不适用于我尝试支持的最小目标。

我已经尝试将 __IPHONE_OS_VERSION_MAX_ALLOWED=40000 放入预处理器设置中,但这只会触发一堆没有帮助的 Apple SDK 错误。 (可能因为我激活的SDK是iOS5.1)

获取旧 SDK 并将其安装到 Xcode 中的唯一解决方案是什么?

有没有更简单的解决方案?

最佳答案

不幸的是,没有标准的方法可以做到这一点。通过将目标操作系统设置为低于基础 SDK 的编号,Xcode 将弱链接库和框架。当这样做时,Xcode 不会警告您使用目标操作系统上可能不可用的方法。

您可以暂时将基本 SDK 设置得较低,但这可能并不总是有效。由于您想忽略大部分产生的错误和警告(因为它们仅在您的代码路径中有条件地调用),并且许多警告和错误取决于您可能需要在编译器给出任何有意义的输出之前解决的其他错误。

我认为不存在任何静态分析工具,无论是来自 Apple 还是来自第三方。

关于iOS Xcode : Warn about methods not in minimum target SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10790622/

相关文章:

objective-c - iOS 模拟器运行动画的效率是否较低?

Xcode 4.1 无法重新安装。应用商店显示 "installed"

iPhone 需要在重新编译之前清理目标

ios - 警告 : "SDK Version Issue". xcode 10.1

ios - 即使将样式更改为 UITableViewStyleGrouped 后,Tableview 标题也不可滚动

ios - 如何获取用户 didSelectRowAtIndexPath 的次数?

c++ - 使用不同 SDK 的 DLL

xcode - iOS SDK 4.1 中的 1347 错误

javascript - iOS UI 自动化等待 Web View 准备好并渲染

objective-c - 子浏览器终止