2016-02-27 1 views
1

Le code ci-dessous permet d'obtenir les données envoyées par iWatch iPhone .Mais pas de l'iPhone à iWatch si nous écrivons le code -(void)send:(NSString *)action et AppdelegateEnvoi de données entre iPhone et iWatch

(void)session:(nonnull WCSession *)session didReceiveMessage:(NSDictionary<NSString *,id> *)message replyHandler:(void(^)(NSDictionary<NSString *,id> *))replyHandler in wacth extension 

Dans le contrôleur d'extension de la montre

-(void)send:(NSString *)action 
    { 
    NSDictionary *request = @{@"request":action}; 
    [[WCSession defaultSession] sendMessage:request 
     replyHandler:^(NSDictionary *replyHandler) { 
    [self setTextForLabelWithData:[replyHandler valueForKey:@"response"]]; 
     } 
    errorHandler:^(NSError *error) { 
      NSLog(@""); 
    }]; 
} 

dans 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}); 
} 

Comment ca N-il être fait? S'il vous plaît aider.

+1

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

+0

Voulez-vous transmettre des données de la montre à l'iPhone? – user3182143

+0

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

Répondre

0

Je suppose que vous devez mettre à jour la clé de « réponse » à cette ligne

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

à « actionPerformed » être comme ça:

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