gpt4 book ai didi

ios - NSUserDefaults standardUserDefaults 不适用于扩展

转载 作者:搜寻专家 更新时间:2023-10-31 08:05:30 25 4
gpt4 key购买 nike

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

在我的应用委托(delegate)中,我从 didFinishLaunchingWithOptions 调用它

NSUserDefaults.standardUserDefaults().setObject("hey", forKey: "TEST")
NSUserDefaults.standardUserDefaults().synchronize()

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

if let test = NSUserDefaults.standardUserDefaults().objectForKey("TEST") as? String
{
println(test)
}

这绝不是真的。如果我删除验证测试并只打印结果,自定义键盘就会崩溃。

编辑也尝试过同样的崩溃结果:

应用委托(delegate)

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 的组。

我在这里错过了什么?

最佳答案

  1. 设置

    RequestsOpenAccess = YES;
  2. 设置:

    NSUserDefaults * usrInfo = [[NSUserDefaults alloc] initWithSuiteName:@"myKeyboard"];

    [usrInfo setObject:theme.icon forKey:@"themeName"]; // This is the new data;

    [usrInfo synchronize];
  3. 键盘变化:

    NSUserDefaults * usrInfo = [[NSUserDefaults alloc] initWithSuiteName:@"myKeyboard"];

    [usrInfo synchronize];

    NSString * str = [usrInfo objectForKey:@"themeName"];

然后你可以改变键盘,例如,改变它的背景

关于ios - NSUserDefaults standardUserDefaults 不适用于扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24620622/

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