繁体   English   中英

Apple Watch OS 2:是否可以将iPhone的数据传输到Watch App,而无需让Watch app处于前台?

[英]Apple Watch OS 2: Is there a to transfer data from iPhone to Watch App without Watch app being in foreground?

我有一个Watch App,需要从iPhone App获得数据。 我这样转移。

    if ([WCSession isSupported]) {
       WCSession *session = [WCSession defaultSession];
       session.delegate = self;
       [session activateSession];
       }

     if ([[WCSession defaultSession] isReachable]) {
          NSArray *keys = [NSArray arrayWithObjects: @"data", @"data1" ,nil];
          NSArray *objects = [NSArray arrayWithObjects:data,data1, nil];
          NSDictionary *applicationDict = [NSDictionary dictionaryWithObjects:objects forKeys:keys];
         [[WCSession defaultSession] sendMessage:applicationDict replyHandler:^(NSDictionary *replyHandler) {

  } errorHandler:^(NSError *error) {

    }];
  }

并像这样收到它。

- (void)session:(nonnull WCSession *)session didReceiveMessage:(NSDictionary<NSString *,id> *)message replyHandler:(void(^)(NSDictionary<NSString *,id> *))replyHandler {

}

但是,这仅在Apple Watch位于前台的情况下有效。 有没有一种解决方法,Apple Watch App可以在不将App置于前台的情况下接收数据,或者还有另一种方法,例如在发送数据之前唤醒Apple Watch App。

您可以做的是在WCSession对象上使用updateApplicationContext:error:方法将更新的数据发送到手表。 当您的手表应用唤醒时,它将接收带有更新数据的上下文对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM