gpt4 book ai didi

ios - NSUserDefaults 不在 iOS 8 中的应用程序和自定义键盘之间存储值

转载 作者:可可西里 更新时间:2023-11-01 03:27:42 26 4
gpt4 key购买 nike

我正在尝试在我的应用程序和自定义键盘扩展之间共享数据。我在主应用程序目标和自定义键盘目标中都打开了应用程序组。在我的主应用程序中,我添加了一个包含以下内容的对象:

NSUserDefaults *userDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.mycompany.myapp"];
[userDefaults setObject:someObject forKey:@"KEY"];

在控制台中打印 [userDefaults dictionaryRepresentation] 显示该对象已保存,调用 [userDefaults objectForKey:@"KEY"] 也是如此。

但是,当我尝试在自定义键盘扩展中访问此对象时:

NSUserDefaults *userDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.mycompany.myapp"];
NSString *value = [userDefaults objectForKey:@"KEY"];

值为 nil,调用 [userDefaults dictionaryRepresentation] 不会显示上面保存的条目。我正在使用 Xcode 6 beta 3。有什么想法吗?

更新已在 Xcode 6 beta 5 中修复

最佳答案

一些可能的解决方案是:

  1. 您的应用组设置不正确,或者您没有将正确的组标识符用于 initWithSuiteName:

  2. 您还没有为您的键盘启用网络访问。 This document当您的键盘禁用网络访问时(默认行为),状态如下:

    No shared container with containing app

  3. 这是一个错误。

关于ios - NSUserDefaults 不在 iOS 8 中的应用程序和自定义键盘之间存储值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24788404/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com