0

在我的 SiriKit 演示项目中,我确实处理INSendMessageIntentMyMessageHandler对象,并实现了由协议定义的方法INSendMessageIntentHandling,其中之一:

- (void)handleSendMessage:(INSendMessageIntent *)intent completion:(void (^)(INSendMessageIntentResponse * _Nonnull))completion {
    NSLog(@"%@", NSStringFromSelector(_cmd));
    NSUserActivity *userActivity = [[NSUserActivity alloc] initWithActivityType:NSStringFromClass([INSendMessageIntent class])];
    userActivity.title = NSStringFromClass([INSendMessageIntent class]);
    INSendMessageIntentResponse *response = [[INSendMessageIntentResponse alloc] initWithCode:INSendMessageIntentResponseCodeSuccess userActivity:userActivity];
    completion(response);
}

我确实title用字符串设置了属性值,并确保userActivity它不是 nil 对象。然后,我实现了名为:(BOOL)application:continueUserActivity:restorationHandler:onAppDelegate.m并返回的方法YES

而现在,问题来了:

运行主程序,然后,调试扩展程序。

该方法(BOOL)application:continueUserActivity:restorationHandler: 没有被调用,我已经INSendMessageIntent在扩展程序的 info.plist 文件中添加了名为:for IntentsSupported 数组的项目。

  • Xcode 8.2.1

谢谢!

4

1 回答 1

0

尝试返回响应INSendMessageIntentResponseCodeInProgress

于 2017-12-13T12:07:35.427 回答