Xcode 如何使用最新的iOS SDK以最旧的iphone版本为目标,并从较新的API中检测缺失的符号?

Xcode 如何使用最新的iOS SDK以最旧的iphone版本为目标,并从较新的API中检测缺失的符号?,xcode,ios,Xcode,Ios,我正在编译一个使用仅在iOS SDK 4.1中定义的函数的项目。但是,我可以将ios部署目标设置为3.2,并在没有任何警告的情况下编译它 IPHONEOS_部署_目标=3.2 为什么xcode没有警告我。我错过了什么吗。我有一个更大的项目,我要确定什么是我的最低目标,我应该如何进行 然而,文件明确指出: “注意:如果用于构建应用程序的SDK比应用程序的目标iOS版本更新(例如,活动SDK为iOS 4.2,iOS部署目标为iPhone OS 4.0),Xcode在检测到应用程序使用的功能在目标OS

我正在编译一个使用仅在iOS SDK 4.1中定义的函数的项目。但是,我可以将ios部署目标设置为3.2,并在没有任何警告的情况下编译它

IPHONEOS_部署_目标=3.2

为什么xcode没有警告我。我错过了什么吗。我有一个更大的项目,我要确定什么是我的最低目标,我应该如何进行

然而,文件明确指出:

“注意:如果用于构建应用程序的SDK比应用程序的目标iOS版本更新(例如,活动SDK为iOS 4.2,iOS部署目标为iPhone OS 4.0),Xcode在检测到应用程序使用的功能在目标OS版本中不可用时,会显示构建警告。”


在我们的例子中,我们保留旧的Xcode安装并通过命令行运行:

/Developer3.2.6/usr/bin/xcodebuild-project.xcodeproj-targetunittests-sdk iphonesimlator4.3


如果编译失败,日志将清除未声明代码的使用情况(例如,来自ios5)。当然,Jenkins continuous integration是我们这样做的朋友。

除非我误解了什么,否则该文档是错误的。当我使用了太多的新功能时,我从来没有看到过警告。从来没有看到过警告,编译器需要参数吗?这太糟糕了!没有人找到解决办法吗!?现在,我们需要测试所有应用程序,以获取所有运行时错误,而不是编译器错误/警告。。。陛下