iOS 4.2 中的 NSUserDefault 问题
Posted
技术标签:
【中文标题】iOS 4.2 中的 NSUserDefault 问题【英文标题】:NSUserDefault problem in iOS 4.2 【发布时间】:2010-12-28 04:29:09 【问题描述】:我准备了一个“Settings.bundle”文件,其中包含带有属性的 plist。但是,在我编译并加载应用程序后,我在 [NSUserDefaults standardUserDefaults] 中找不到这些属性。在我去设置并修改那里的属性后,所有修改的属性都可以在 [NSUserDefaults standardUserDefaults] 中找到(未修改的仍然丢失)。这是 ios 4.2 中的一个已知问题吗?我在 iOS 3.2 中尝试了相同的程序,没问题。
【问题讨论】:
查看***.com/questions/4675877/…用户pwc的答案 【参考方案1】:我编写了一个库,该库复制了应用程序内 setting.bundle 的设置,在此期间,我发现 setting.bundle 中的默认值未注册,除非用户在设置应用程序中转到应用程序的设置。这是我编写的函数,它通过 settings.bundle 中的所有 plist 并注册用户默认值:http://bitbucket.org/keegan3d/inappsettings/src/2053acd0524e/InAppSettings/InAppSettingsReader.m
我不确定为什么它可以在 iOS 3.2 中为您工作,但可能是这些设置是从以前的版本注册的。
【讨论】:
谢谢。它适用于模拟器,但不适用于真实设备。你知道为什么吗? 嗯不确定,请尝试从手机中删除该应用程序,然后再构建和安装。也许设备上有挥之不去的偏好。以上是关于iOS 4.2 中的 NSUserDefault 问题的主要内容,如果未能解决你的问题,请参考以下文章
IOS入门 SandBox Plist NSUserDefault
NSUserDefault 无法在 iOS8 的扩展中保存和加载
我如何访问 iOS 项目的 NSUserDefault 以做出原生反应?