我有一个针对Iphone 3G,3GS和iPad的iphone应用程序4G。 我遇到的问题是行为与Iphone 3G& 4(我没有机会在3GS iphone上测试我的应用程序。)
区别在于:
iPhone 4上的:
:
这些是在所有Iphone设备上具有相同行为的方法吗?
或者我必须自己处理这个问题吗?
答案 0 :(得分:2)
iOS4增加了运行到应用程序的后台,而不是在iPhone 3G上。对于这些情况,您需要手动存储和恢复状态。
您可以使用一些类来帮助您完成此操作 - 例如Github上的DTResurrectionKit。
答案 1 :(得分:2)
给你一些冗长的解释:
在iOS 4.0中,Apple推出了背景应用程序。使用Background,失去前景的应用程序会被暂停,但可以重新激活到它们所在的同一点,而开发人员不必为此做任何事情。基本上,将保存Applications VM并重新创建相同的上下文。但是,后台应用程序可能会在后台运行时随时被杀死。
然而,苹果公司在这张图片中留下了几个较旧的设备,即使它们有4.0。 iPhone 3G和iPod Touch 2. Generation没有启用后台应用程序。
因此,如果您想在所有设备上使用相同或至少相似的行为,那么您将不得不自己动手。在Appdelegate中的ApplicationWillTerminate:
功能中,您必须存储所需的当前位置/其他信息并从那里重新创建。
答案 2 :(得分:1)
我认为您在iPhone 3G上运气不佳,因为后台应用程序仅支持从运行iOS 4.x及更高版本的iPhone 3GS开始的设备。当然,当应用程序终止并在重新启动时恢复时,没有什么可以阻止您保存应用程序上下文。
可以在此处找到3G支持的iOS 4功能的确认: