我想在我的应用程序中集成 Siri/Intent 扩展,目前基于 Swift 2.3。我正在使用 Xcode 8 beta 6 构建。
该应用程序甚至无法编译,给出错误为
类型“IntentHandler”不符合协议“INSendMessageIntentHandling”
协议需要函数 'handle(sendMessage:completion:)' 类型为 '(sendMessage: INSendMessageIntent, completion: (INSendMessageIntentResponse) -> Void) -> Void'
由方法“handle(sendMessage:completion:)”提供的 Objective-C 方法“handleWithSendMessage:completion:”与需求的选择器 (“handleSendMessage:completion:”) 不匹配
即使是来自 Apple 的示例应用程序,UnicornChat 也无法编译并出现相同的错误。我确实将SWIFT_VERSION标志更改为Yes,以支持 Swift 2.3
示例代码:
func handle(sendMessage intent: INSendMessageIntent, completion: (INSendMessageIntentResponse) -> Void) {
let userActivity = NSUserActivity(activityType: NSStringFromClass(INSendMessageIntent.self))
let response = INSendMessageIntentResponse(code: .Success, userActivity: userActivity)
completion(response)
}
这失败并出现上述错误。
任何人都知道如何让 Siri 在 Swift 2.3 中工作?