尝试使用updateApplicationContext,在Connect模拟器中工作的Watch连接(WCSession)的transferUserInfo,但在设备上尝试相同但不能正常工作时,将iPhone中的数据共享到Apple Watch。
设备:iPhone 6 plus(OS 11.1),Apple watch-Series 2(Watch OS 4.1)。
使用defaultSession并为watchConnectivity实现必要的委托方法。
iPhone方面:
步骤:1
if ([WCSession isSupported])
{
[[WCSession defaultSession] setDelegate:self];
[[WCSession defaultSession] activateSession];
}
步骤:2
[[WCSession defaultSession] transferUserInfo:dataDict];
Apple Watch方面:使用defaultSession 步骤:1
if ([WCSession isSupported])
{
[[WCSession defaultSession] setDelegate:self];
[[WCSession defaultSession] activateSession];
}
步骤:2
-(void)session:(WCSession *)session didReceiveUserInfo:(NSDictionary<NSString *,id> *)userInfo
{
// code for data parsing which get from userInfo dictionary.
}
答案 0 :(得分:0)
我为我的项目做了这个
设置会话和创建数据字典后,您可以使用此
发送消息[[WCSession defaultSession] sendMessage:dataDict replyHandler:^(NSDictionary<NSString *,id> * _Nonnull replyMessage) {
//You task on completion
} errorHandler:^(NSError * _Nonnull error) {
if (error)
{
//Handle the error
}
}];
并在观看应用程序代码中 您可以设置委托方法
- (void)session:(WCSession *)session didReceiveMessage:(NSDictionary<NSString *, id> *)message replyHandler:(void(^)(NSDictionary<NSString *, id> *replyMessage))replyHandler
{
}
你已经完成了