如何使用最新的iOS SDK定位最旧的iphone版本并检测来自较新API的缺失符号?

时间:2011-01-27 19:45:39

标签: xcode ios

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

IPHONEOS_DEPLOYMENT_TARGET = 3.2

xcode怎么没有警告我。我错过了什么。我有一个更大的项目,我有什么决定什么可能是我的最低目标,我该怎么办?

然而,文件明确指出:

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

http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iphone_development/120-Building_and_Running_Applications/building_and_running_applications.html%23//apple_ref/doc/uid/TP40007959-CH6

1 个答案:

答案 0 :(得分:0)

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

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

如果编译失败,则日志清楚显示未声明代码的使用情况(例如,来自iOS 5)。当然,詹金斯持续整合是我们做这件事的朋友。