Я пытаюсь запустить свое приложение для iPhone из симулятора часов, используя следующий код:
Подкласс WKInterfaceController
[WKInterfaceController openParentApplication:[NSDictionary dictionaryWithObject:@"red" forKey:@"color"] reply:^(NSDictionary *replyInfo, NSError *error) {
NSLog(@"replyInfo %@",replyInfo);
NSLog(@"Error: %@",error);
}];
AppDelegate.m
- (void)application:(UIApplication *)application handleWatchKitExtensionRequest:(NSDictionary *)userInfo reply:(void(^)(NSDictionary *replyInfo))reply
{
NSLog(@"appdelegate handleWatchKitExtensionRequest");
NSLog(@"NSDictionary: %@",userInfo);
NSLog(@"replyInfo: %@",replyInfo);
}
Ошибка, которую я получаю:
Ошибка: Error Domain = com.apple.watchkit.errors Code = 2 «UIApplicationDelegate в приложении iPhone никогда не вызывал ответ() в -[UIApplicationDelegate application:handleWatchKitExtensionRequest:reply:]» UserInfo=0x7f8603227730 {NSLocalizedDescription=UIApplicationDelegate в iPhone Приложение никогда не вызывало ответ() в -[UIApplicationDelegate application:handleWatchKitExtensionRequest:reply:]}
handleWatchKitExtensionRequest:
должен вызывать блок response(), предоставленный в качестве аргумента этому методу. Попробуйте добавитьreply(@{@"data" : @"test data"});
к этому методу. Это использование просто тривиального словаря в качестве теста; Я думаю, документы WatchKit точно скажут вам, каким должно быть содержимое этого словаря. - person pbasdf   schedule 08.01.2015