2016-02-27 62 views
1

下面的代碼可以幫助擺脫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它完成了嗎?請幫忙。

+1

http://stackoverflow.com/questions/31457811/send-messages-between-ios-and-watchos-with-watchconnectivity-in-watchos2 – user3182143

+0

你想從手錶到iPhone傳遞數據? – user3182143

+0

http://www.kristinathai.com/watchos-2-how-to-communicate-between-devices-using-watch-connectivity/ – user3182143

回答

0

我猜你需要更新從「反應」的關鍵,在這條線

[self setTextForLabelWithData:[replyHandler valueForKey:@"response"]]; 

到「的actionPerformed」是這樣的:

[self setTextForLabelWithData:[replyHandler valueForKey:@"actionPerformed"]];