watchOS 2.0 以降では、2 つのデバイス間でメッセージを送信するだけで済みます。いつでもメッセージ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;