OStack程序员社区-中国程序员成长平台

标题: ios - WatchKit NSUserDefaults 为空 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 07:12
标题: ios - WatchKit NSUserDefaults 为空

在使用 NSUserDefaults 设置/接收数据时进行真正的基本测试。我的 iPhone 应用程序工作正常,数据设置正常,但在 watch 上,它显示为空。

我为两者启用了应用程序组,并使用同一个组验证了它们是相同的。每一个的授权文件都是一样的。

在 ViewController.m 中

    defaults = [[NSUserDefaults alloc] initWithSuiteName"com.defaultmethod.share"];

[defaults setObject:playerName forKey"playerName"];
[defaults synchronize];

在 InterfaceController.m 中

- (void)awakeWithContextid)context {
    [super awakeWithContext:context];

    // Configure interface objects here.
    defaults = [[NSUserDefaults alloc] initWithSuiteName"com.defaultmethod.share"];
    [defaults synchronize];
}

- (void)willActivate {
    // This method is called when watch view controller is about to be visible to user
    [super willActivate];

    NSLog(@"playerName: %@", [defaults objectForKey"playerName"]);
}

我得到的只是:

玩家姓名空)

我必须遗漏一些如此明显的东西。当我在 iphone 端 NSLog 时,结果很好,所以我知道它保存正确。



Best Answer-推荐答案


您需要确保以下设置处于正确位置。

您可以在 app 和 watchkit 扩展目标的功能部分测试这些设置。

关于ios - WatchKit NSUserDefaults 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30225125/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4