アプリでビデオ通話を開始するためのインテント拡張機能の実行中に、次のエラー メッセージがログに記録されます。
2016-09-28 23:56:58.686343 CallIntentExtension[2442:128209] -[Swift._SwiftDeferredNSArray _dataForIntentSlotDescription:]: unrecognized selector sent to instance 0x143d29a50
2016-09-28 23:56:58.703162 CallIntentExtension[2442:128209] <NSXPCConnection: 0x143e3b2a0> connection from pid 25: Warning: Exception caught during invocation of received message, dropping incoming message and invalidating the connection.
Exception: -[Swift._SwiftDeferredNSArray _dataForIntentSlotDescription:]: unrecognized selector sent to instance 0x143d29a50
-[Swift._SwiftDeferredNSArray _dataForIntentSlotDescription:]: unrecognized selector sent to instance 0x143d29a50
(
0 CoreFoundation 0x000000019471c1d8 <redacted> + 148
1 libobjc.A.dylib 0x000000019315455c objc_exception_throw + 56
2 CoreFoundation 0x0000000194723278 <redacted> + 0
3 CoreFoundation 0x0000000194720278 <redacted> + 916
4 CoreFoundation 0x000000019461a59c _CF_forwarding_prep_0 + 92
5 Intents 0x00000001adde1dd0 <redacted> + 36
6 CallIntentExtension 0x00000001000179fc _TTRXFdCb_dCSo7NSArray_dT__XFo_oGSaCSo24INPersonResolutionResult__dT__ + 72
7 CallIntentExtension 0x000000010001748c _TFC19CallIntentExtension17CallIntentHandler15resolveContactsfT17
resolveContacts
拡張機能の開発を開始する前に、アプリケーションを Swift 2.3 に更新しました。Siri へのメッセージは、「AppName から ContactName へのビデオ通話を開始してください」です。 解決メソッドが呼び出されます。
func resolveContacts(forStartVideoCall intent: INStartVideoCallIntent, with completion: ([INPersonResolutionResult]) -> Void)
成功の解決結果が完了ブロックに提供されます。
var resolutionResults = [INPersonResolutionResult]()
let handle = INPersonHandle(value: "ContactName", type: .Unknown)
let person = INPerson(personHandle: handle, nameComponents: nil, displayName: "ContactName", image: nil, contactIdentifier: "123", customIdentifier: nil)
resolutionResults += [.success(with: person)]
completion(resolutionResults)
しかし、ログにエラー メッセージが表示された後、Siri は「申し訳ありませんが、アプリを続行する必要があります」と言います。 Perform または Handle メソッドは呼び出されません。新しいクリアアプリケーションでも同じことが起こります。プロジェクトはここにあります。
何が悪いのか理解するのを手伝ってください。何かご意見は?
PS
についての情報は見つかりませんでした-[Swift._SwiftDeferredNSArray _dataForIntentSlotDescription:]:
PPS
アプリケーションを Swift 3 に変換すると、エラーはなくなりました。