从watchOS 2.0开始,您可以在两个设备之间发送消息。您可以随时发送消息Watch->iPhone(如果您的 iPhone 对应方未运行,则事件)和iPhone->Watch如果您的手表对应方正在呈现。只需检查[WCSession defaultSession].isReachable
以确保您可以发送消息。
对于这两个平台,这里的代码示例:
@import WatchConnectivity;
...
if ([WCSession defaultSession].isReachable) {
[[WCSession defaultSession] sendMessage:@{
@"Key" : @"Value"
} replyHandler:^(NSDictionary<NSString *,id> * _Nonnull replyMessage) {
NSLog(@"Sent update is OK");
} errorHandler:^(NSError * _Nonnull error) {
NSLog(@"Sent update with error %@", error);
}];
}
要对此消息做出反应,您应该在对应项中实现WCSessionDelegate
:
- (void)session:(WCSession *)session didReceiveMessage:(NSDictionary<NSString *, id> *)message;
或者
- (void)session:(WCSession *)session didReceiveMessage:(NSDictionary<NSString *, id> *)message replyHandler:(void(^)(NSDictionary<NSString *, id> *replyMessage))replyHandler;