我正在实施从苹果手表应用程序到iPhone上的目标应用程序的切换。NSUseractivity不工作从苹果手表到iPhone应用程序
在WatchKit扩展viewcontrollers我有以下代码之一:
myActivity = [[NSUserActivity alloc]
initWithActivityType: @"com.newsApp.shownews"];
myActivity.userInfo = @{@"newsID":[self.newsID objectAtIndex:0]};
myActivity.title = @"shownews";
myActivity.delegate = self;
[myActivity becomeCurrent];
然后,添加在continueUserActivity
我的目的地iPhone应用程序的的appDelegate内将以下代码:
-(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
。
史诗失败对我来说! NSUserActivity在我的Xcode 7上无法正常工作。 完全遵照Apple的文档,在Spotlight的研究中我什么也得不到... – manonthemoon
@manonthemoon我使用的是xcode 6.3 – user3687