相关疑难解决方法(0)

使用应用程序组在应用程序之间传递和保存数据

iOS 8昨天发布了一个关于App Groups的新API.在分享数据和在应用程序之间进行通信之前,它有点混乱,我相信这正是App Groups要纠正的内容.

在我的应用程序中,我启用了应用程序组并添加了一个新组,但我找不到任何有关如何使用它的文档.文档和API参考仅说明如何添加组.

那么App Group真正打算做什么呢?有没有关于如何使用它的文件?

objective-c ios ios8 ios-app-extension

81
推荐指数
5
解决办法
5万
查看次数

NSUserDefaults standardUserDefaults不支持扩展

我在开发人员门户中将应用程序组添加到了我的应用程序ID,并在我的配置文件中使用了该应用程序ID.Xcode中的我的产品标识符设置为该应用程序ID.

在我的app委托中,我从didFinishLaunchingWithOptions调用它

NSUserDefaults.standardUserDefaults().setObject("hey", forKey: "TEST")
NSUserDefaults.standardUserDefaults().synchronize()
Run Code Online (Sandbox Code Playgroud)

在我的键盘应用程序扩展中,我称之为:

if let test = NSUserDefaults.standardUserDefaults().objectForKey("TEST") as? String
 {
    println(test)
 }
Run Code Online (Sandbox Code Playgroud)

这从来都不是真的.如果我删除验证测试并打印结果,则自定义键盘会崩溃.

编辑也尝试了相同的崩溃结果:

App代表

var userDefaults = NSUserDefaults(suiteName: "group.jackedgames.myappgroup")
userDefaults.setObject("TEST", forKey: "TEST")
userDefaults.synchronize()
Run Code Online (Sandbox Code Playgroud)

键盘扩展

var userDefaults = NSUserDefaults(suiteName: "group.jackedgames.myappgroup")
var test = userDefaults.objectForKey("TEST") as String
NSLog(test)
Run Code Online (Sandbox Code Playgroud)

在两个目标的"功能"部分中,我启用了已选择此组ID的组.

我在这里错过了什么?

nsuserdefaults ios swift ios8

5
推荐指数
1
解决办法
2604
查看次数