tôi gửi một cuốn từ điển để một ứng dụng iOS sử dụng:Chia sẻ dữ liệu giữa các ứng dụng và xem ứng dụng iOS trong watchOS2
- (void)sendMessage:(NSDictionary<NSString *, id> *)message
replyHandler:(nullable void (^)(NSDictionary<NSString *, id> *replyMessage))replyHandler
errorHandler:(nullable void (^)(NSError *error))errorHandler;
nhưng tôi nhận được một lỗi với điều này. Tôi muốn biết cách ứng dụng gốc của chúng tôi xử lý yêu cầu này trong watchOS2.
Trong watchOS1, tôi đã sử dụng openParentApplication
để nhận dữ liệu từ ứng dụng gốc và Appdelegate
có số handleWatchKitExtensionRequest
để xử lý yêu cầu đó. Làm thế nào để chúng ta xử lý điều này trong watchOS2?
My Interface Controller:
- (void)awakeWithContext:(id)context
{
[super awakeWithContext:context];
if([WCSession isSupported])
{
self.watchSession = [WCSession defaultSession];
self.watchSession.delegate = self;
[self.watchSession activateSession];
}
[self sendRequestWithActionType:@"InitialView"];
}
-(void)sendRequestWithActionType:(NSString *)action
{
NSDictionary *requst = @{@"request":action};
[[WCSession defaultSession] sendMessage:requst
replyHandler:^(NSDictionary *replyHandler) {
[self setTextForLabelWithData:[replyHandler valueForKey:@"response"]];
}
errorHandler:^(NSError *error) {
NSLog(@"");
}
];
}
Bạn nên kiểm tra reachabl e trước khi sử dụng sendMessage. lỗi gì bạn nhận được? – ccjensen
Tôi muốn nhận được trả lờiHandler từ điển.tôi tôi nên làm gì trong ứng dụng iOS.Tôi nghĩ rằng, chúng ta nên sử dụng - (void) phiên: (nonnull WCSession *) session didReceiveMessage: (nonnull NSDictionary *) message replyHandler: (nonnull void (^) (NSDictionary * __nonnull)) replyHandler cho tôi một ví dụ cho – PramukaD