我正在尝试使用iPhone将一些数据从Apple发送到WCSession。下面是发送消息的代码
WCSession *session = [WCSession defaultSession];
session.delegate = self;
[session activateSession];
NSDictionary *dict = @{@"time": [NSString stringWithFormat:@"%i", self.seconds], @"distance": [NSString stringWithFormat:@"%f", self.distance], @"splits": self.splitsArray, @"max": [NSString stringWithFormat:@"%f", hightest]};
//save data to iphone
[[WCSession defaultSession] sendMessage:dict
replyHandler:^(NSDictionary *reply) {
//handle reply from iPhone app here
}
errorHandler:^(NSError *error) {
NSLog(@"error %@", error);
}
];这是WCSession委托在AppDelegate中的代码。
#pragma mark - WCsession delegates
- (void)session:(nonnull WCSession *)session didReceiveMessage:(nonnull NSDictionary<NSString *,id> *)message replyHandler:(nonnull void (^)(NSDictionary<NSString *,id> * __nonnull))replyHandler {
NSLog(@"recieved message %@", message);
}日志显示,这条消息是从Apple发送的,没有任何问题,但是,recieved message从未被记录过。iphone似乎没有回应苹果手表发出的信息。这个案子有什么问题?谢谢!
发布于 2016-02-21 15:48:47
确保设置委托属性,并在WCSession应用程序代码的一部分中激活iOS应用程序中的iOS,该代码在后台启动iOS应用程序时运行(UIApplicationDelegate的didFinishLaunchingWithOptions是一个不错的位置)。
https://stackoverflow.com/questions/35527629
复制相似问题