2015-03-16 2 views
-2

HI Я хочу реализовать образец приложения в приложении набора часов. Я хочу показать некоторую информацию о родительском приложении, которое работает в iphone, теперь я хочу получить данные в приложении набора часов от действия преформы с кнопки на экране набора часов. я использовал метод делегата для фоновой связи с приложением расширения, но я получаю ту же ошибку, когда я печатать ошибку вКак приложение watchkit общается с родительским приложением iphone в ios

[InterfaceController openParentApplication:dict reply:^(NSDictionary *replyInfo, NSError *error) 
{ 
    NSLog(@"%@",[replyInfo objectForKey:@"Key"]); 
    NSLog(@"error:-%@",[error description]); 
} 

получить ошибку ....

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:]} 

пожалуйста, подсказывают, как я могу получить данные в смотреть приложение из приложения расширения. Спасибо заранее.

+0

Перейти к Appdelegate.m и реализации приложения: handleWatchKitExtensionRequest: ответ: метод – Horst

+0

да у меня есть реализовать код в приложении: handleWatchKitExtensionRequest: ответ метод в методе appdelegate, но все же я получаю такую ​​же ошибку и в состоянии отладки в этом методе обработчика – jaydev

+0

Проходите ли вы, чтобы посмотреть приложение в блоке ответа? – Horst

ответ

2

В приложении «Мои часы» я хочу настроить свой вид карты, поэтому я прошу свое приложение указать местоположение.

- (void)awakeWithContext:(id)context { 
    [super awakeWithContext:context]; 

    // Configure interface objects here. 
    [WKInterfaceController openParentApplication:@{} reply:^(NSDictionary *replyInfo, NSError *error) { 
     if (replyInfo) { 

      [self.map setRegion:MKCoordinateRegionMake(CLLocationCoordinate2DMake([replyInfo[@"lat"] doubleValue], [replyInfo[@"lon"] doubleValue]), MKCoordinateSpanMake(0.05, 0.05))]; 
     } 
    }]; 
} 

Тогда я положил обратно место из моего приложения делегата:

- (void)application:(UIApplication *)application handleWatchKitExtensionRequest:(NSDictionary *)userInfo reply:(void (^)(NSDictionary *))reply 
{ 
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com"]]; 
    reply(@{@"lat": @"22.3175899",@"lon": @"114.2212058"}); 
} 
+0

, и в моем приложении я делаю это приложение типа (void): (UIApplication *) application handleWatchKitExtensionRequest: (NSDictionary *) userInfo reply: (void (^) (NSDictionary * replyInfo)) { [self GetWordsFromApplication: userInfo andreply: reply]; } – jaydev

+0

Я сомневаюсь, что блок ответа не был вызван. – Horst

+0

, пожалуйста, можете ли вы предложить больше об блоке ответа – jaydev