我需要将 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/