【发布时间】:2016-07-18 07:35:13
【问题描述】:
一个 Xcode 项目具有以下设置:
Deployment target: iOS 9.0Base SDK: iOS 9.3 (latest)
据我了解,该应用程序可以安装在 iOS 9.0 上,并且可能会尝试访问仅在 iOS 9.3 之后才可用的 API。在这种情况下,应用程序会崩溃。
那么,如何轻松找出应用程序访问的哪些 API 在部署目标和基础 SDK 之前的版本之间的任何版本中不可用?由于编译器知道部署目标,所以当在代码中使用 API 时,它不应该发出警告吗?当在下面介绍的 iOS 版本上运行时,应用程序显然会崩溃?
【问题讨论】:
-
有一个新的编译器标志,您可以在 Xcode 7.3 中尝试,虽然它也会引发很多误报,因为它不考虑上下文。检查这个答案:stackoverflow.com/questions/34013293/…
标签: ios xcode compiler-warnings deployment-target base-sdk