2015-06-16 9 views
1

Я реализую передачу обслуживания из приложения для просмотра яблока в приложение-приложение на моем iphone.NSUseractivity не работает от apple watch to iphone app

На одном из viewcontrollers WatchKit Extension У меня есть следующий код:

myActivity = [[NSUserActivity alloc] 
           initWithActivityType: @"com.newsApp.shownews"]; 
myActivity.userInfo = @{@"newsID":[self.newsID objectAtIndex:0]}; 
myActivity.title = @"shownews"; 
myActivity.delegate = self; 
[myActivity becomeCurrent]; 

Затем я добавить следующий код в continueUserActivity внутри AppDelegate моего назначения iphone приложения:

-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *))restorationHandler 
{ 
    if ([userActivity.activityType isEqual: @"com.newsApp.shownews"]) { 
     UIStoryboard *mainStoryboard = self.window.rootViewController.storyboard; 
     ShownewsViewController *detailViewController = (ShownewsViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@"ShownewsViewController"]; 

     detailViewController.post_ID = [userActivity.userInfo objectForKey:@"newsID"]; 

     UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:detailViewController]; 

     [self.window.rootViewController presentViewController:navigationController animated:YES completion:NULL]; 

    } 
    return YES; 
} 

проблема в том, что userActivity.userInfo пуст, но userActivity.activityType правильно установлен в com.newsApp.shownews.

+0

Epic Fail для меня! NSUserActivity не работает на моем Xcode 7. Последовала точно документация Apple, и я ничего не получаю в своих исследованиях по Spotlight ... – manonthemoon

+0

@manonthemoon i use xcode 6.3 – user3687

ответ

0

Для продолжения активность от Часы для iPhone App использовать NSUserActivity Xcode 8 Swift-3: -

enter image description here

Часы Цель:

@IBAction func navigateToiPhoneApp() { 
     // let userActivity = NSUserActivity(activityType: "WatchKitHandoff.Notification.com") 
     //userActivity.ac 
     self.updateUserActivity("com.WatchKit.Notification.", userInfo:["key":"value"], webpageURL:nil) 
    } 

iPhone:

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool { 
      print("continue activity2") 
      restorationHandler([self.window!.rootViewController!]) 
      return true 
     } 

Update info.plist enter image description here

Simulator не поддерживают Handoff в до Xcode-8.1

 Смежные вопросы

  • Нет связанных вопросов^_^