当应用程序第一次启动时,我希望只打开一个ViewController。以下是我的代码。问题在于,当我将YES写入 NSUserDefaults ,进行同步,然后关闭应用程序时,在Xcode中使用模拟器,该值未更新为Yes。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"isFirstLaunch"])
{
// app already launched
[[NSUserDefaults standardUserDefaults] registerDefaults:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:NO],@"isFirstLaunch", nil]];
[[NSUserDefaults standardUserDefaults]synchronize];
}
else
{
[[NSUserDefaults standardUserDefaults] registerDefaults:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES],@"isFirstLaunch", nil]];
[[NSUserDefaults standardUserDefaults]synchronize];
}
return YES;
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"isFirstLaunch"])
{
NSLog(@"first time");
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
LASplashUserSettingViewController *splash = [storyboard instantiateViewControllerWithIdentifier:@"splash"];
[self.window.rootViewController presentViewController:splash animated:NO completion:nil];//
}
}
我查看了上面的链接以及许多其他链接,但是我错过了什么吗? 谢谢。