【发布时间】:2014-07-07 22:00:20
【问题描述】:
我在开发者门户中将应用组添加到我的应用 ID,并在我的配置文件中使用该应用 ID。我在 Xcode 中的产品标识符设置为该应用 ID。
在我的应用委托中,我从 didFinishLaunchingWithOptions 调用它
NSUserDefaults.standardUserDefaults().setObject("hey", forKey: "TEST")
NSUserDefaults.standardUserDefaults().synchronize()
在我的键盘应用程序扩展中,我称之为:
if let test = NSUserDefaults.standardUserDefaults().objectForKey("TEST") as? String
{
println(test)
}
这从来都不是真的。如果我删除验证测试并仅打印结果,自定义键盘会崩溃。
编辑 也尝试过同样的崩溃结果:
应用代理
var userDefaults = NSUserDefaults(suiteName: "group.jackedgames.myappgroup")
userDefaults.setObject("TEST", forKey: "TEST")
userDefaults.synchronize()
键盘扩展
var userDefaults = NSUserDefaults(suiteName: "group.jackedgames.myappgroup")
var test = userDefaults.objectForKey("TEST") as String
NSLog(test)
在两个目标的“功能”部分中,我启用了选择此组 ID 的组。
我在这里错过了什么?
【问题讨论】:
-
你打电话给
NSUserDefaults.standardUserDefaults().synchronize()了吗? -
是的。但我很确定 synchronize() 无论如何都是一个可选调用
-
synchronize()通常是可选的... -
这真的可能不应该被标记为 Objective-C 问题的副本。
标签: ios swift nsuserdefaults ios8