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