4 hataları için raporlar gördüm ancak 5 değil. Bir "openParentApplication: yanıtı" isteği kullanmaya çalıştığımda bu bir konsol iletisi olarak olsun. Sorunun iOS kodunda, WK kodunda veya Simülatörde olup olmadığını bilmek için günlüğe yeterli bilgi yok. Ben sim başlattım ve projeyi temizledim. Herhangi bir fikir?iOS Hatası: FBSOpenApplicationErrorDomain hatası 5. Bu ne anlama geliyor?
WK Kodu:
- (IBAction)sendRequest {
NSDictionary *request = @{@"request":@"Request1"};
[InterfaceController openParentApplication:request reply:^(NSDictionary *replyInfo, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
[self.label1 setText:[replyInfo objectForKey:@"response1"]];
[self.label2 setText:[replyInfo objectForKey:@"response2"]];
[self.label3 setText:[replyInfo objectForKey:@"response3"]];
}
}];
}
iOS Kodu:
- (void)application:(UIApplication *)application handleWatchKitExtensionRequest:(NSDictionary *)userInfo reply:(void (^)(NSDictionary *))reply{
NSLog(@"%s", __FUNCTION__);
//([max intValue] - [min intValue]) + [min intValue]
int randNum1 = arc4random_uniform(16);
int randNum2 = arc4random_uniform(16);
int randNum3 = arc4random_uniform(16);
NSString *num1 = [NSString stringWithFormat:@"Test%d", randNum1];
NSString *num2 = [NSString stringWithFormat:@"Test%d", randNum2];
NSString *num3 = [NSString stringWithFormat:@"Test%d", randNum3];
if ([[userInfo objectForKey:@"request"] isEqualToString:@"Request1"]) {
NSLog(@"containing app received message from watch: Request1");
NSDictionary *response = @{@"response1" : num1, @"response2" : num2, @"response3" : num3};
reply(response);
}
}
sadece konsol günlüğü geçerli:
WatchKit Extension[48954:9523373] Error Domain=FBSOpenApplicationErrorDomain Code=5 "The operation couldn’t be completed. (FBSOpenApplicationErrorDomain error 5.)
Tamam. Söz verildiği gibi cevap şu şekildedir: info.plist'de "Uygulama Arka Planda Çalışmıyor" ayarını EVET olarak ayarlamıştı. Bu soruna neden oldu. Bu ayarın HAYIR olarak değiştirilmesi düzeltildi. AppleDev forumlarında Faber'a teşekkürler. –