【问题标题】:iphone Dev. How can I make my app compatible with iOS 3 and iPads at the same time (iOS 4.2)iphone开发。如何让我的应用同时兼容 iOS 3 和 iPad (iOS 4.2)
【发布时间】:2011-01-26 07:25:47
【问题描述】:

我一直在寻找一种方法,让我的应用程序与 iPhones-iOS3 兼容,同时使其与装有 iOS 4.2 的 iphone 和 iPad 兼容

我在应用商店中看到了一些声称与 iphone iOS3 及更高版本以及 iPad 兼容的应用。

知道他们是如何做到的吗?他们如何针对不同的版本进行测试,以及他们如何编译上传到应用商店的最终版本。

【问题讨论】:

    标签: iphone-sdk-3.0 ipad compatibility


    【解决方案1】:

    要让您的应用同时在 iPad 和 iPhone 上加载,只需确保您有 2 个不同的 xib 来满足每个设备的需求,在应用启动时,检查设备是 iPad 还是 iPhone 并相应地加载 xib 文件。

    iOS3 和多任务不支持的设备将在按下主页按钮时调用 applicationDidTerminate 方法。从 iOS4 开始,只需确保实现 applicationDidEnterBackground 方法以支持多任务处理。您也可以在 Info.plist 文件中取消选中您的应用不支持多任务处理(Apple 不推荐),iOS 将改为调用 applicationDidTerminate,并且该应用仍可在 iOS3 和 iOS4 中使用。

    干杯。

    【讨论】:

    • 那当然是要在3 SDK下编译了吧?
    • 您不必这样做。只需确保 applicationDidTerminate 和 applicationDidEnterBackground 方法都已实现并在最新的 iOS 版本(iOS4.2 或 iOS4.3 beta)中工作,对于 iOS3 和 iOS4 设备就可以了。干杯。
    • 稍等。我的 Xcode 上有最新发布的 SDK 4.2。我应该如何在 OS3 上进行测试?我知道 applicationDidTerminate 和 applicationDidEnterBackground,但我的印象是该应用程序与您编译的 SDK 兼容。如果不是这种情况,请澄清,因为我的应用程序目前在 OS4.2 及更高版本上可用:-(
    • iOS3 和 iOS4 之间唯一的主要区别只是后台问题。实现这两种方法,在 iOS4.2 SDK 中构建,即使 iOS3 设备使用该应用程序也可以正常工作,只是 iOS3 调用 appDidTerminate 而不是 appDidEnterBackground。所以无论如何这都不重要。
    • 我了解两个 iOS 之间的主要差异。但是,我的论点是我已经实现了这两种方法(主要是因为 3G 手机即使有 iOS 4.2 也不提供多任务处理)。然而,我遇到的问题是,当我在 App Store 上提交我的应用程序时,它变得兼容“iOS 4.2 或更高版本”。我认为这是因为我使用 4.2 SDK 来编译应用程序。例如,当 SDK 4.3 发布时,如果我在该 SDK 上编译我的应用程序并提交我的应用程序,App Store 将自动检测并设置我的应用程序与 iOS 4.3 或更高版本兼容。我做错了什么?
    猜你喜欢
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    • 2015-08-17
    • 2019-03-29
    • 1970-01-01
    • 2011-06-01
    • 2011-03-01
    相关资源
    最近更新 更多