在我的 SiriKit 演示项目中,我确实处理INSendMessageIntent
了MyMessageHandler
对象,并实现了由协议定义的方法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
谢谢!