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

Ste*_*eph 6 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

ıɾu*_*uǝʞ 0

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

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

如果编译失败,日志会清楚地显示未声明代码的使用情况(例如来自 iOS 5 的代码)。当然,Jenkins 持续集成是我们这样做的朋友。