呼び出されることはありません:私は以下のコード使用して時計のシミュレータから私のiPhoneのアプリを起動しようとしていますiPhoneアプリでUIApplicationDelegate返信
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: Error Domain=com.apple.watchkit.errors Code=2 "The UIApplicationDelegate in the iPhone App never called reply() in -[UIApplicationDelegate application:handleWatchKitExtensionRequest:reply:]" UserInfo=0x7f8603227730 {NSLocalizedDescription=The UIApplicationDelegate in the iPhone App never called reply() in -[UIApplicationDelegate application:handleWatchKitExtensionRequest:reply:]}
私は全然WatchKitを知りませんが、エラーがhandleWatchKitExtensionRequest 'であなたのコードがあることを示すようだ:'そのメソッドに引数として提供さリプライ()ブロックを呼び出す必要があります。そのメソッドに 'reply(@ {@" data ":@"テストデータ "});を追加してみてください。これはちょっとした辞書をテストとして使用しています。 WatchKitのドキュメントは、その辞書の内容を正確に教えてくれると思います。 – pbasdf
はいi [InterfaceController openParentApplication:dict reply:^(NSDictionary * replyInfo、NSError * error){ NSLog(@ "%@"、[replyInfo objectForKey:@ "Key"])でエラーが表示される; NSLog(@ "error: - %@"、[error description]); pleseは、このメソッドからwatchkitアプリケーションのデータを取得する方法を提案します。私は私のアプリからのキットアプリケーションを見て文字列をしたい。事前に感謝 – jaydev