我正在创建一个手表应用程序,只是为了在用户点击iPhonehost应用程序中的表格视图时在手表上显示一个值。
我想在共享的手表上的值发生变化时得到一个通知。UserDefault
. 它在WatchKit应用程序和iOS(主机)应用程序之间共享,所以当用户在主机应用程序中进行任何更改时,我希望得到通知。我做了以下工作。
当用户在应用(主机应用)中进行一些操作时,
NSUserDefaults *shared = [[NSUserDefaults alloc] initWithSuiteName:@"group.app"];
id object = [self.plantsArray objectAtIndex:[self.plantsTable indexPathForSelectedRow].row];
[shared setObject:object forKey:@"data"];
[shared synchronize];
在Watchkit扩展中注册了通知,但不幸的是我没有收到通知。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(print) name:NSUserDefaultsDidChangeNotification object:nil];
但不幸的是,我没有收到任何通知,有人有解决办法吗?
你可以尝试 MMWormHole 它在iOS设备和手表之间提供了:
使用它,这将是在你的应用程序中做通知所需的所有代码。
[self.wormhole passMessageObject:@{@"buttonNumber" : @(1)} identifier:@"button"];
[self.wormhole listenForMessageWithIdentifier:@"button"
listener:^(id messageObject) {
self.numberLabel.text = [messageObject[@"buttonNumber"] stringValue];
}];