解决方案:在AppDelegate.h中的didFinishLaunchingWithOptions里面添加:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
NSLog(@"did Finish Launching With Options");
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"isFirstLaunched"]){
NSLog(@"AppDelegate - didFinishLaunchingWithOptions: App was already launched.");
}
else{
NSLog(@"AppDelegate - didFinishLaunchingWithOptions: App's first launch.");
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"isFirstLaunched"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
if ([[[NSUserDefaults standardUserDefaults] stringForKey:@"clientVersion"] isEqualToString:CLIENT_VERSION]) {
NSLog(@"AppDelegate - didFinishLaunchingWithOptions: App version remains the same.");
}
else{
NSLog(@"AppDelegate - didFinishLaunchingWithOptions: App version did update.");
[[NSUserDefaults standardUserDefaults] setObject:CLIENT_VERSION forKey:@"clientVersion"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
return YES;
}
在App-Prefix.pch中定义CLIENT_VERSION:
#define CLIENT_VERSION [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]