如何使iOS 4.0应用程序与iPhone OS 3.1.3兼容?

时间:2010-08-20 00:42:47

标签: iphone deployment iphone-sdk-3.0 ios4 compatibility

所以,我可能在通过擦除我的Xcode安装并仅安装4.0 SDK(我甚至无法在我的备份中找到SDK 3.1.3,我的应用程序!)来更新我的iOS 4.0应用程序时出错。我现在有一个应用程序,它使用4.0的基础SDK构建,它在iTunes中说它需要4.0但我唯一添加的是方法-applicationDidEnterBackgroundState和-applicationDidBecomeActive(基本上只是复制并粘贴了保存/加载数据代码来自-applicationWillTerminate和-viewDidLoad)。我是否有可能在构建设置中将iPhone OS部署目标设置为3.1.3重建应用程序,Apple将允许我基本上降级我的应用程序?我应该输入那些检查4.0的#If_Define语句,以便有条件地启用那些4.0方法吗?

1 个答案:

答案 0 :(得分:0)

不,您不需要使用#ifdef语句。您可以随意调用方法 - 问题是UIApplication实例是否会调用它:)。

此外,我相信您的部署设置将处理iTunes问题。所以,你应该把它设置为3.1.3(或3.0,除非特别要求,我知道的很多人没有在3s之间升级,因为它有很少的功能,很多时候它本质上是一个反越狱版本)。

关于代码,我已经像这样处理了这个问题:

- (void) applicationWillTerminate:(UIApplication *)application
{
  // Just pass it on to the new iOS4 delegate
  NSLog(@"Application will terminate");
  [self applicationDidEnterBackground:application];
}

对于前台,我只有一个“加载器”方法,可以从application:didFinishLaunchingWithOptions:applicationWillEnterForeground:调用。

适用于我的3G w / 3.0上的软件(我在3G上看到iOS4后拒绝升级!)以及运行iOS4的3GS。