【问题标题】:iPhone App Run Different iOSiPhone App 运行不同的 iOS
【发布时间】:2011-06-30 15:34:09
【问题描述】:

当我上传时,我得到了一个胖二进制文件,我想确保我的应用程序可以跨 3.0,甚至 2.0 运行。有没有一种特定的方法可以确保在我上传时显示出来。我没有使用任何特定的 iOS 4 功能,而且我的 xCode 中只有 iOS 4。如何测试不同的 iOS 版本?

【问题讨论】:

    标签: iphone xcode iphone-sdk-3.0 ios4


    【解决方案1】:

    我能想到的唯一方法是在真正的旧操作系统版本设备上测试您的应用。由于 Apple 希望其用户尽快升级到新的操作系统版本,因此他们实际上并没有为开发人员提供测试这种向后兼容性的官方方法。

    另一个相关问题是,“我可以将我的设备操作系统版本降级到旧版本,以便我可以在它们上测试我的应用程序吗?”我曾经在 SO 和其他 Apple 论坛上进行过研究,我得到的结果是 NO,我们开发人员没有办法“正式”降级我们的设备操作系统版本。是的,有例外,您可以尝试越狱然后降级。

    对于越狱/降级您的操作系统版本,请查看此帖子,A TimeMachine taking my iDevice back to 3.1.2?

    已编辑:实际上很容易确保使用旧操作系统版本的用户可以下载和安装您的应用。您需要做的就是将 Xcode 中的 Deployment Target 设置为您想要的最低操作系统版本(iOS 3.0 将是 Xcode 3.2.5 中最低的)。

    但是,您需要记住,这样的部署目标只能确保您的应用可以下载并安装在此类旧版本操作系统设备上。它们不能确保运行时的兼容性。您仍然需要在真正的旧操作系统设备上测试您的应用以确保兼容性。

    【讨论】:

    • 那么,我的应用将可供拥有旧 3.0 的用户使用,对吗?
    • 谢谢,我的部署目标设置为 4.2。所以这意味着只有 4.2 的人才能下载我的应用程序?
    • 是的。但是4.2有点太严格了。据我所知,还有很多人留在4.1。您可以在您的应用中考虑 4.0 或 4.1。
    【解决方案2】:

    我认为您无需担心以下应用程序版本 3.0,因为它不再受支持。但是如何在不同版本上进行测试,请确保按照 Thomas 的说明更改 iOS 部署目标。

    【讨论】:

      【解决方案3】:

      目前没有支持的方式来执行此操作。

      目前没有任何模拟器或 Xcode 工具可以确保应用与使用的 SDK 之前的操作系统版本完全兼容。 2.0 SDK 与当前的开发工具不兼容。没有官方支持的设备降级方式。

      此外,Apple 甚至不再接受部署目标低于 3.0 的应用提交。

      即使是大多数旧的第一代设备(如果您可以在 eBay 上找到的话)也已升级到 iOS 3.1.3。但是,如果您可以访问运行 iOS 3.1.3 的旧设备,则可以使用它进行测试。许多开发者保留旧的 iPod Touch 只是为了他的目的。

      设备运行早于 3.1.3 的用户不仅在安装基数中所占比例非常小,而且不太可能仍然为该设备购买应用程序。即使是拥有可用于此测试的人员和旧硬件的大型开发人员也很少在这个市场上浪费时间。

      【讨论】:

        【解决方案4】:

        查看项目 -> 编辑项目设置 -> iOS 部署目标:3.13。然后构建?

        根据评论进行编辑:您仍然需要确保您的代码在运行时范围内,即在调用相关方法之前进行类似“respondstoselector”的检查。

        【讨论】:

        • 不幸的是,这并不能确保向后兼容。它只允许将应用程序安装在此类设备上。开发者仍需在真实的 iOS 3.x 设备上进行测试。
        猜你喜欢
        • 2017-09-14
        • 1970-01-01
        • 1970-01-01
        • 2019-07-05
        • 1970-01-01
        • 2011-10-13
        • 1970-01-01
        • 2011-07-12
        • 1970-01-01
        相关资源
        最近更新 更多