将iPhone应用程序更新为新版本时更改应用程序设置

时间:2011-06-29 11:43:02

标签: iphone cocoa-touch

我想将我的应用程序连接到的URL更改为新服务器。问题是,URL值保存在设置文件中。当我应用程序更新到新版本时,将从设备中读取文件,并覆盖我的设置。我想要的是使用 URL 第一次启动更新版本。之后,我很高兴从该文件中读取URL。 有什么方法可以确定这是在更新后第一次当我申请时? 谢谢!

3 个答案:

答案 0 :(得分:1)

要确定它是更新后的第一次启动,您可以使用以下代码检索版本号:

NSString* v = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];

并将其与之前保存的值进行比较。

答案 1 :(得分:1)

作为another user,您可以通过阅读应用套装的CFBundleVersion来获取当前版本。这种方法的问题是用户可能无法安装应用程序的“版本1”。相反,我建议在您的应用的didFinishLaunching方法中添加以下内容:

#define kSettings [NSUserDefaults standardUserDefaults];

if(![kSettings objectforKey:@"isFirstRun"]){

  // You could check the version here 
  // and do some initial setting up.

  [kSettings setBool:NO forKey:@"isFirstRun"];

}

然后,对于每个后续版本,您可以添加另一个带有另一个标志的块,以检查该版本,如下所示:

if(![kSettings objectForKey:@"isFirstRunForVersionX"]){

  //  Do some version specific set up here.

  [kSettings setBool:NO forKey:@"isFirstRunForVersionX"];
}

我已经在我的几个应用程序中成功使用了这种方法。

答案 2 :(得分:0)

您可以在NSUSerDefault中存储标志。所以你需要先检查isFirstTime == 0然后再做你的代码并使isFirstTime = 1;所以它只运行第一次。