我在我的应用程序中使用此代码:
if ([[NSUserDefaults standardUserDefaults] objectForKey:@"First_RUN"] == NULL) {
[self tutorial:nil];
[[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"First_RUN"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
我正在使用此代码来了解应用程序第一次运行的时间,如果是这种情况,我会展示一个教程。升级到 9.3.1 后,我发现它停止工作,因此每次应用程序运行时都会出现教程。尝试对此进行调试,但似乎 [NSUserDefaults standardUserDefaults] 刚刚停止工作。
我正在为这个应用程序使用旧的 Xcode(6.4)。以另一种方式使用 [NSUserDefaults standardUserDefaults] 的任何帮助或对此问题的解释都会有所帮助(我的许多应用程序中都有这种代码,现在都中断了)。
只是为了把事情说清楚。这段代码在 iOS 9.3 上完美运行,但在 iOS 9.3.1 上却不行,我猜是有什么东西坏了或改变了。
更新:我为此创建了一个测试项目(以隔离问题),似乎模拟器很好,但即使使用 Xcode 7.3 在 9.3.1 的设备上运行也会产生同样的问题:https://sidan5@bitbucket.org/sidan5 /nsuserdefaultsdemo.git