iPhone - 验证特定SDK版本的代码

时间:2010-07-14 21:43:30

标签: iphone ipad

假设我的项目使用Base SDK = 4,但将目标操作系统设置为3。

现在假设我在3.0已经存在的框架上使用了属于4的某些功能。所以,这不是使用3上不存在的框架的问题,而是使用4上存在但不存在于3上的相同框架的方法。

有没有办法检查我的代码哪些行在目标操作系统上是非法的?

我问这个是因为当我将Base SDK设置为4时,Xcode将允许我使用属于4.0的指令,即使目标操作系统是3.这只会使iPhone 3GS崩溃,并且在编译期间不会被检测到。

感谢

2 个答案:

答案 0 :(得分:2)

据我所知,从最新的Xcode无法做到这一点。

您可以使用iPhone 3.0 SDK安装以前的版本,构建项目并检查编译器警告。这种方法并非万无一失,因为它并未涵盖所有可能的情况。

我强烈建议您在iPhone 3.X设备上测试您的应用程序。有些API表现不同,即使它们的签名没有改变。

答案 1 :(得分:1)

Cocoa with Love与旧操作系统有很好的结合。我想这可能会回答你的问题:

http://cocoawithlove.com/2010/07/tips-tricks-for-conditional-ios3-ios32.html