Apple Watch OS 2:有没有将数据从iPhone传输到Watch App而没有Watch应用程序在前台?

时间:2016-08-16 19:30:23

标签: ios objective-c watchkit watch-os-2

我有一个需要从iPhone应用程序获取数据的Watch 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可以在没有应用程序位于前台的情况下接收数据,或者可能有其他方法可以在发送数据之前唤醒Apple Watch应用程序。

1 个答案:

答案 0 :(得分:0)

您可以使用 WCSession 对象上的 updateApplicationContext:error:方法将更新的数据发送到您的手表。当您的监视应用程序唤醒时,它将收到包含更新数据的上下文对象。