代码之家  ›  专栏  ›  技术社区  ›  Alex Gosselin

OS4应用程序应该使用哪个版本的iPhone SDK?

  •  1
  • Alex Gosselin  · 技术社区  · 15 年前

    我想知道,如果我的应用程序是用4.1SDK构建的,那么我是否会遇到与OS4.0的兼容性问题,或者这不是问题?

    3 回复  |  直到 15 年前
        1
  •  2
  •   Stefan Arentz    15 年前

    对你的问题的简短回答是:使用 基本SDK版本 至少为4.0的应用程序和 正好是4.0。

    我对这两个答案都投了反对票,因为它们是错误的,或者至少是不完整的。

    构建应用程序时,有两种设置需要注意:

    基本SDK版本

    还有一个问题 它定义了 最低的 要求 . 您可以在Xcode中将其设置为低至2.2.1,但应用商店目前不接受低于3.1.3的版本。

    基本SDK版本 较高的 然后 部署目标版本

    MFMessageComposeViewController 是在4.0中引入的,因此如果您的应用程序已配置为也在3.1.3上运行,那么您应该使用 NSClassFromString()

    这里有很多关于堆栈溢出的问题,关于如何发现可用的功能,所以我将不在这里重复这些技术。

        2
  •  0
  •   tc.    15 年前

    • 旧应用程序上发生了一些更改(例如为2.2.1编译)。我忘了这些是什么。
    • 他们中的一些人在公园里 工具链 (我认为他们改变了用ibtool编译nib的方式;这有点像为UITableViewCell设置一个图像和一个自定义视图)。这是在我们升级构建服务器上的SDK时发生的,即使我们没有触及“基本SDK”

    此外,GCC 4.2中有一些运行时/ C++改变,这意味着当在无符号INT/LING上浮动/加倍或使用STD::OSTRING SUSTRE时,运行在OS2.2.1上的GCC 4.2应用程序崩溃。我已经为GCC版本添加了一个检查。

    所以不,用更新的SDK编译 导致问题-如果有时间限制(您没有时间实现多任务支持,或者您没有时间进行完整的重新测试并修复所有错误,等等),您可能不想冒险。或者你仍然想支持2.2.1,因为一些奇怪的原因(4.0放弃了2.x“设备支持”,这实际上使得在2.x设备上调试应用程序变得不可能)。

        3
  •  -2
  •   G33kz0r    15 年前

    取决于您将要使用的API。假设你想在应用程序中实现短信功能( MFMessageComposeViewController )如果你想让你的所有终端用户(将被定义为EUs)访问这个特性,那么你就必须根据ios4.0进行编译。但是假设你想让应用程序内的短信是可选的,并且对你的EUs来说是一个“加号”,你只需要根据ios3.0编译你的应用程序就可以了。

    希望我能回答你的问题:-)