ios - 无法将 NSUserDefaults 与 Apple Watch 同步

标签 ios objective-c nsuserdefaults apple-watch

我需要将 2 个 double 传递给 apple watch,为此我在扩展程序和主应用程序中设置了应用程序组,接下来:

主要应用:

groupDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.XXXXX"];
[groupDefaults setDouble:pitchDelta forKey:@"pitch_delta"];
[groupDefaults setDouble:rollDelta forKey:@"roll_delta"];
[groupDefaults synchronize];

扩展名:

groupDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.XXXXX"];
double pitchDelta = [groupDefaults doubleForKey:@"pitch_delta"];
double rollDelta = [groupDefaults doubleForKey:@"roll_delta"];

但是没有传递值。我是不是忘记了什么?

在主应用程序代码中

[groupDefaults setDouble:pitchDelta forKey:@"pitch_delta"];
[groupDefaults setDouble:rollDelta forKey:@"roll_delta"];
[groupDefaults synchronize];
        NSLog(@"%f %f", [groupDefaults doubleForKey:@"pitch_delta"], [groupDefaults doubleForKey:@"roll_delta"]);

在日志中返回 -0.387812 -0.098052

最佳答案

尝试从设备和 watch 中完全删除应用,然后重试。

我在使用 Today 扩展 测试时遇到了同样的问题。

同时检查开发人员门户,您的应用程序 ID 是否正确启用了应用程序组权限,尽管您可能会在 Xcode 上看到这些权限

关于ios - 无法将 NSUserDefaults 与 Apple Watch 同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30343537/

相关文章:

iOS 共享扩展不会终止

ios - 在 UITabBar iOS 中更改项目颜色

swift - watchOS 2 中的共享 NSUserDefaults 和应用程序组之类的东西?

ios - 当我向左或向右移动操纵杆时,如何更改节点的纹理?

ios - 图像不会在 iPad Mini 兼容模式下显示

ios - Objective-C iPhone - 立即在 Safari 中打开 URL 并退出应用程序

ios - 应用程序关闭后不保存用户默认值

swift - NSUserDefaults Swift/iOS 8 中的 UIColor

ios - 在导航 Controller 中设置后退按钮

ios - NSPredicate 检查以逗号分隔的一串数字是否包含数字