作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 watch 应用程序需要与父应用程序通信以获取一些信息。这应该只在口袋里使用 watch 和手机时发生。它曾经像这样工作:
在 watch 上的 InterfaceController 中:
[InterfaceController openParentApplication:request reply:^(NSDictionary *replyInfo, NSError *error) {
// handle response from phone
}];
- (void)application:(UIApplication *)application handleWatchKitExtensionRequest:(NSDictionary *)userInfo reply:(void (^)(NSDictionary *))reply
NSDictionary *response = // generate response
reply(response);
}
[[WCSession defaultSession] sendMessage:request
replyHandler:^(NSDictionary *reply) {
}
errorHandler:^(NSError *error) {
}
];
- (void)session:(WCSession *)session didReceiveMessage:(NSDictionary<NSString *,id> *)message replyHandler:(void (^)(NSDictionary<NSString *,id> *replyMessage))replyHandler {
// this never gets called
}
最佳答案
如果这对任何人都有帮助,我发现您必须在主线程上运行它。
- (void)session:(WCSession *)session didReceiveMessage:(NSDictionary<NSString *,id> *)message replyHandler:(void (^)(NSDictionary<NSString *,id> *replyMessage))replyHandler {
dispatch_async(dispatch_get_main_queue(), ^{
// do stuff here
replyHandler(replyDictionary);
});
}
关于ios - 如何为 Watch OS 2 更新 openParentApplication?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33454572/
我是一名优秀的程序员,十分优秀!