开发者

Change an App Setting when updating the iPhone application to a new Version

I want to change the URL that my application connects to, to a new sever. The problem is, the URL value is saved in a settings file. When I update the application to the new versi开发者_如何学Goon, the old file is read from the device, and overwrites my settings. What I want is to use the new URL the first time the updated version is launched. After that, I am happy to read the URL from the file. Is there any way I can determine this is the first time after an update when I lauch the application? Thanks!


As another user, you can get the current version by reading the CFBundleVersion of your app's bundle. The problem with this approach is that a user might not install "version 1" of your app. Instead, I suggest putting something like the following in your app's didFinishLaunching method:

#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"];

}

Then, for each subsequent version, you can add another if block with another flag to check for that version, like so:

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

  //  Do some version specific set up here.

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

I've successfully used this approach in several of my apps.


To determine it it's the first launch after the update, you could retrieve the version number with this piece of code:

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

And compare it to a previous value you have saved.


You can store flag in NSUSerDefault. So You need to check first time if isFirstTime==0 then do your code and make isFirstTime=1; So it only runs first time.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜