iOS 8.2 Settings.bundle 默认值
iOS 8.2 Settings.bundle default value
我有一个带有 Settings.bundle 文件的应用程序。
我在特定字段中添加了默认值,但每当我想在 iOS 8.2 上的应用程序中阅读此内容时,我都会返回 'nil'。
但是,当我在 iOS 7.1(基本上低于 iOS 8.2 的每个版本)上执行此操作时,我得到正确的默认值。
有谁知道 iOS 8.2 中是否发生了某些导致此问题的更改以及如何解决此问题?我已经删除了应用程序并重新构建。
也许是一个小笔记,我用 Xcode 5 构建。但是如果我使用 Xcode 5 或 Xcode 6,那没有任何区别。测试过这个。
代码:
我如何检索默认值:
id settings = [NSUserDefaults standardUserDefaults];
[settings objectForKey:@"defaultValueUrl"];
Settings.bundle:
http://i62.tinypic.com/10nrmhd.png
谢谢!
您的设置包中的默认值不会写入您应用的 NSUserDefaults,直到用户实际转到设置并更改它们。一直都是这样。不确定为什么它之前对你“有用”——也许你从未从设备上卸载过该应用程序并且它保留了旧设置?
您应该在代码中做的是在启动时注册默认设置。 (是的,这在某种程度上重复了您的设置包中发生的事情。这就是生活。)
[[NUSUserDefaults standardDefaults] registerDefaults:
@{ @"defaultValueURL": @"http://example.com" }];
现在,此默认键将始终具有正确的默认值,无论有无设置包。
我有一个带有 Settings.bundle 文件的应用程序。 我在特定字段中添加了默认值,但每当我想在 iOS 8.2 上的应用程序中阅读此内容时,我都会返回 'nil'。 但是,当我在 iOS 7.1(基本上低于 iOS 8.2 的每个版本)上执行此操作时,我得到正确的默认值。
有谁知道 iOS 8.2 中是否发生了某些导致此问题的更改以及如何解决此问题?我已经删除了应用程序并重新构建。 也许是一个小笔记,我用 Xcode 5 构建。但是如果我使用 Xcode 5 或 Xcode 6,那没有任何区别。测试过这个。
代码: 我如何检索默认值:
id settings = [NSUserDefaults standardUserDefaults];
[settings objectForKey:@"defaultValueUrl"];
Settings.bundle: http://i62.tinypic.com/10nrmhd.png
谢谢!
您的设置包中的默认值不会写入您应用的 NSUserDefaults,直到用户实际转到设置并更改它们。一直都是这样。不确定为什么它之前对你“有用”——也许你从未从设备上卸载过该应用程序并且它保留了旧设置?
您应该在代码中做的是在启动时注册默认设置。 (是的,这在某种程度上重复了您的设置包中发生的事情。这就是生活。)
[[NUSUserDefaults standardDefaults] registerDefaults:
@{ @"defaultValueURL": @"http://example.com" }];
现在,此默认键将始终具有正确的默认值,无论有无设置包。