【问题标题】:Xcode 6 NSUserDefaults does NOT workXcode 6 NSUserDefaults 不起作用
【发布时间】:2023-03-20 00:28:01
【问题描述】:

Xcode 6 中:NSUserDefaults设备模拟器(iPhone 5、iPhone 6 等模拟器)中不起作用。

如果您在真实设备上进行测试,它可以完美运行。有人知道如何将此信息发送给 Apple 吗?我已尝试联系 Apple,但未收到答复。

我无法在真正的 iPhone6 或 iPhone6 Plus 上进行测试,因为在我的国家还没有。

我的代码(是一个示例)在设备上完美运行:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

NSString *appTheme = [defaults objectForKey:@"theme_preference"];

if ([appTheme isEqualToString:@"color0"]) {

} else {

}

可能是我没有表达清楚。

用户,在“iPhone o iPad 设置”中必须更改应用程序的设置参数。

设置由“Settings.bundle”的“Root.plist”实现。

也就是说,我尝试测试用户更改应用程序的参数。但是在源代码中我没有看到这些变化。 我总是谈论设备模拟器 (Xcode6)

【问题讨论】:

  • 运行哪个版本的 iOS?
  • 我在NSUserDefaults 看到了类似的问题。我认为它只是在当前版本中被破坏了:版本 6.0.1 (6A317)。也许下一个版本会解决这个问题?我希望如此。
  • 我的模拟器版本是 v8.0 (550.1),它不能正常工作 - 如上所述。
  • 和我一样,调试了 4 个小时才发现是模拟器问题。也许与扩展和阅读 NSUserDefaults 的新方法有关。稍后会尝试

标签: ios8 nsuserdefaults xcode6


【解决方案1】:

今天我终于解决了这个问题。我已经安装了 Xcode 的最新更新(6.1 版),然后我重置了模拟器。

然后我访问了我的设置应用程序。在您打开应用程序的设置之前,设置不会复制到模拟器(或真实设备)中

必须至少访问一次您的应用设置。

【讨论】:

    【解决方案2】:

    尝试像这样保存数据:

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:@"color0" forKey:@"theme_preference"];
    [defaults synchronize];
    

    然后再调用它:

    NSString *appTheme = [defaults objectForKey:@"theme_preference"];
    if ([appTheme isEqualToString:@"color0"]) {
    
    } else {
    
    }
    

    【讨论】:

    • 我尝试测试用户更改应用程序的参数。但是在源代码中我没有看到这些变化。我总是谈论设备模拟器(Xcode6)
    • 不正确。如果您的默认参数是一个整数(例如),您必须调用它:[defaults integerForKey:@"strokeSize_preference"];不正确:objectForKey
    【解决方案3】:

    这是现在 xCode6 和 ios8 的常见问题。

    我发现每当你遇到这个 NSUserDefaults 问题时重置模拟器内容和设置。

    当我从模拟器中删除应用程序时,userdefaults 的值没有被清除。

    然后我重置了我的模拟器,它对我来说效果很好。

    因此,在苹果对此进行修复之前,在模拟器上进行测试的最佳方法是在您想要删除应用程序时重置模拟器。

    它对我有用。希望它也对其他人有所帮助。

    【讨论】:

      【解决方案4】:

      这是iOS模拟器的一个bug,你应该去iOS模拟器>重置内容和设置来重置设备。

      【讨论】:

        【解决方案5】:

        在菜单中进入iOS模拟器,然后点击reset content settings,现在你的问题应该解决了。

        【讨论】:

          猜你喜欢
          • 2014-11-05
          • 2014-11-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-18
          • 2014-08-29
          相关资源
          最近更新 更多