检测应用程序的第一次运行

the*_*mer 5 iphone plist nsuserdefaults ios

我正在创建一个应用程序,我必须在应用程序首次启动时创建一个plist.我稍后将使用plist存储用户稍后输入的详细信息.如何检测应用程序的首次启动?我正在尝试使用NSUserDefaults,但我认为我做错了什么.

Jon*_*lli 15

您可以使用NSUserDefaults执行此操作.但要小心版本号.

请执行下列操作:

NSString *bundleVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey];

NSString *appFirstStartOfVersionKey = [NSString stringWithFormat:@"first_start_%@", bundleVersion];

NSNumber *alreadyStartedOnVersion = [[NSUserDefaults standardUserDefaults] objectForKey:appFirstStartOfVersionKey];
if(!alreadyStartedOnVersion || [alreadyStartedOnVersion boolValue] == NO) {
    [self firstStartCode];
    [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:YES] forKey:appFirstStartOfVersionKey];
}
Run Code Online (Sandbox Code Playgroud)

选择器firstStartCode将仅在第一次运行时为每个应用程序版本按时调用.

好的?