我有一个需要从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应用程序。
答案 0 :(得分:0)
您可以使用 WCSession 对象上的 updateApplicationContext:error:方法将更新的数据发送到您的手表。当您的监视应用程序唤醒时,它将收到包含更新数据的上下文对象。