当我调用的方法在最低支持目标的 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/