代码之家  ›  专栏  ›  技术社区  ›  Duck

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

  •  0
  • Duck  · 技术社区  · 14 年前

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

    现在假设我在一个已经存在于3.0上的框架上使用了一些属于4的功能。因此,使用3上不存在的框架不是问题,而是使用4上存在但3上不在同一框架上的方法。

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

    我这样问是因为当我将base sdk设置为4时,xcode允许我使用属于4.0的指令,即使目标操作系统是3。这只会使iPhone3GS崩溃,在编译期间不会被检测到。

    谢谢

    2 回复  |  直到 14 年前
        1
  •  2
  •   hpique    14 年前

    据我所知,没有办法从最新的Xcode中做到这一点。

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

    我强烈建议你无论如何都要在iPhone3.x设备上测试你的应用程序。有些API的行为不同,即使它们的签名没有更改。

        2
  •  1
  •   Hojdra    14 年前

    可可与爱有一个良好的工作与老OSE的总结。我想这可以回答你的问题:

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