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/

相关文章:

iOS - pushViewController 与 presentModalViewController 的区别

ios - 如何将高度设置为从 xib 加载的 tableFooterView

cocoa-touch - 如何从 iPhone 应用程序链接到 Google map 路线

iphone - 从 NSObject 类调用 presentModalViewController

iphone - 在 View Controller 之间切换时自动旋转

iphone - MPMediaItemPropertyPersistentID 的 NSNumber 到 NSString 并再次返回

iphone - 关于iOS应用销售和数字呈现的一些问题

iphone - 如何使 UIWindow 透明

ios - 当用户滚动相邻的 UIScrollView 时,我的 UIView 子类不调用 drawRect

iphone - 如何取消或停止 NSThread?