如何知道哪个API不能用在哪个iOSSDK中?

How to know which API cannot be used in which iOS SDK?

Xcode 项目具有以下设置:

据我所知,该应用程序可以安装在 iOS 9.0 上,并且可能会尝试访问仅自 iOS 9.3 起可用的 API。在那种情况下,应用程序会崩溃。

那么我如何轻松找出应用程序访问的哪些 API 在部署目标和基础 SDK 之前的版本之间的任何版本中都不可用?由于编译器知道部署目标,所以当在代码中使用 API 时,它不应该发出警告吗?当 运行 低于它的 iOS 版本时,显然会使应用程序崩溃简介?

你在头文件中检查这个。

API 在 iOS 9 和 iOS 9.3 之间没有变化,所以你是安全的。另一方面,使用 iOS 8 的人无法 运行 您的应用,这意味着用户更少、销售额更少、收入更少。

如果您部署在 8.0 上,您可以在编译时通过暂时将基础 SDK 更改为 8.0 轻松验证您是否使用了一些新的 APIs。在这种情况下,您必须确保不要在 iOS 8 上调用任何 iOS 9 方法。

您应该检查 class('NewFeature',即您调用的任何 9.3 功能 class)

if ([NewFeature class]){
   //then use it if available
   //The code will land here if it is available to the OS the device is using
}else{
   //use older alternative way
}