iphone - 将 iPhone 应用程序更新到新版本时更改应用程序设置

标签 iphone cocoa-touch

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

最佳答案

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 block 来检查该版本,如下所示:

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

  //  Do some version specific set up here.

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

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

关于iphone - 将 iPhone 应用程序更新到新版本时更改应用程序设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6520079/

相关文章:

iphone - 如何隐藏uitabbarcontroller

iphone - 在 MKMapView 中设置区域

cocoa-touch - 在 View 上显示UIBezierPath

objective-c - 无法弄清楚如何在 UIViewController 中一起使用 UINavigationControllerDelegate 和 pushViewController

ios - 获取设置数据->常规->关于

iphone - iPhone 中的语音识别?

ios - 关于在 iPhone 上创建动态 X-Y 图表的建议

objective-c - 找不到用于迁移的映射模型 - UIManagedDocument 核心数据迁移

c - 在尝试学习和理解核心图形时,C++ 和线性代数是必须的吗?

iphone - 获取 iPhone 当前位置的最简单方法是什么?