• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - WatchKit NSUserDefaults 为空

[复制链接]
菜鸟教程小白 发表于 2022-12-13 07:12:12 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

在使用 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-推荐答案


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

  • 检查 Entitlement.plist 文件以获取您的应用程序和 watch 套件 扩展名,它应该具有相同的应用程序组标识符。
  • 确保您在信息部分选择了正确的开发团队 每个目标。
  • 您已安装正确的移动配置文件

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

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

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap