我在我的 Manager 类 init 方法中编写了这段代码。
if([WCSession isSupported]) {
WCSession *session = [WCSession defaultSession];
session.delegate = self;
[session activateSession];
}
此外,在管理器类中实现了这些委托方法。
- (void)session:(WCSession *)session activationDidCompleteWithState:(WCSessionActivationState)activationState error:(NSError *)error {
if(error) {
NSLog(@"%@", error.description);
}
NSLog(@"iOS App Session activated.");
}
- (void)sessionDidBecomeInactive:(nonnull WCSession *)session {
//
}
- (void)sessionDidDeactivate:(nonnull WCSession *)session {
//
}
- (void)sessionReachabilityDidChange:(WCSession *)session {
//
}
Watch应用InterfaceController委托方法:
- (void)session:(WCSession *)session didReceiveApplicationContext:(NSDictionary<NSString *,id> *)applicationContext {
//
}
我的问题是:
- 永远不会调用activationDidCompleteWithState 。
- 我正在调用 updateContext 方法将数据发送到手表应用程序,但在 InterfaceController 中从未调用过didReceiveApplicationContext方法。