使用 NSUserActivity 的 Handoff 中的 userInfo 是空的

userInfo is is empty from Handoff using NSUserActivity

我正在尝试从我的 WatchKit 应用程序发送一个字符串: 我可以通过锁定屏幕正常启动应用程序,但是当调用 continueUserActivity 方法时,userActivity.userInfo 不包含任何值,我在这里遗漏了什么吗?

-我得到的唯一值是 activityType

观看:

- (void)createActivity {
    self.activity = [[NSUserActivity alloc] initWithActivityType:@"com.myApp.urlSend"];
    [self.activity setUserInfo:@{@"url":self.wake.href}];
    [self.activity setTitle:self.wake.title];
    [self.activity becomeCurrent];
}

Phone:

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *))restorationHandler {

    NSString *url = userActivity.userInfo[@"url"];
}

我刚刚注意到您正在自己创建 activity。如果您查看文档,您会发现与其他平台相比,Handoff 在 Watch 上的工作方式略有不同:https://developer.apple.com/library/prerelease/ios/documentation/WatchKit/Reference/WKInterfaceController_class/index.html#//apple_ref/occ/instm/WKInterfaceController/updateUserActivity:userInfo:webpageURL:

您只需调用 updateUserActivity 并在该调用中添加您的 userInfo 词典。