iPhone和IWATCH
问题描述:
下面的代码可以帮助摆脱IWATCH发送到iPhone。但不能从iPhone的数据IWATCH如果我们写的代码-(void)send:(NSString *)action
和的appdelegateiPhone和IWATCH
(void)session:(nonnull WCSession *)session didReceiveMessage:(NSDictionary<NSString *,id> *)message replyHandler:(void(^)(NSDictionary<NSString *,id> *))replyHandler in wacth extension
在钟表扩展控制器之间发送数据
-(void)send:(NSString *)action
{
NSDictionary *request = @{@"request":action};
[[WCSession defaultSession] sendMessage:request
replyHandler:^(NSDictionary *replyHandler) {
[self setTextForLabelWithData:[replyHandler valueForKey:@"response"]];
}
errorHandler:^(NSError *error) {
NSLog(@"");
}];
}
中的appdelegate
- (void)session:(nonnull WCSession *)session didReceiveMessage:(NSDictionary<NSString *,id> *)message replyHandler:(void(^)(NSDictionary<NSString *,id> *))replyHandler
{
NSString *action = message[@"request"];
NSString *actionPerformed;
if ([action isEqual:@"foo"]) {
// do "foo" stuff
actionPerformed = @"foo done";
} else if ([action isEqual:@"bar"]) {
// do "bar" stuff
actionPerformed = @"bar done";
}
replyHandler(@{@"actionPerformed":actionPerformed});
}
如何CA它完成了吗?请帮忙。
答
我猜你需要更新从“反应”的关键,在这条线
[self setTextForLabelWithData:[replyHandler valueForKey:@"response"]];
到“的actionPerformed”是这样的:
[self setTextForLabelWithData:[replyHandler valueForKey:@"actionPerformed"]];
答
您需要实现观看连接委托方法请求iPhone到Apple Watch和Apple Watch到iPhone。
欲了解更多信息,请参见教程:http://www.codingexplorer.com/watch-connectivity-swift-application-context/
http://*.com/questions/31457811/send-messages-between-ios-and-watchos-with-watchconnectivity-in-watchos2 – user3182143
你想从手表到iPhone传递数据? – user3182143
http://www.kristinathai.com/watchos-2-how-to-communicate-between-devices-using-watch-connectivity/ – user3182143