Я пытаюсь использовать SiriKit для создания заметки.Вот мой код в расширении приложения Intents:
import Intents
class IntentHandler: INExtension {
override func handler(for intent: INIntent) -> Any {
// This is the default implementation. If you want different objects to handle different intents,
// you can override this and return the handler you want for that particular intent.
print("IntentHandler.handler(_:)")
guard let createNoteIntent = intent as? INCreateNoteIntent else {
return self
}
if let textNoteContent = createNoteIntent.content as? INTextNoteContent {
print(textNoteContent.text as Any)
}
return CreateEntry()
}
}
import UIKit
import Intents
class CreateEntry: NSObject, INCreateNoteIntentHandling {
func handle(intent: INCreateNoteIntent, completion: @escaping (INCreateNoteIntentResponse) -> Void) {
print("CreateEntry.handle(_:_:)")
if let textNoteContent = intent.content as? INTextNoteContent {
print(textNoteContent.text as Any)
}
let note = INNote(title: INSpeakableString(spokenPhrase: "May the force be with you."), contents: [INNoteContent()], groupName: nil, createdDateComponents: nil, modifiedDateComponents: nil, identifier: nil)
let response = INCreateNoteIntentResponse(code: INCreateNoteIntentResponseCode.ready, userActivity: nil)
response.createdNote = note
completion(response)
}
}
Когда я спрашиваю Siri «Создать заметку с помощью журнала», Siri отвечает «Извините, возникла проблема с приложением».и мой код печатает эти результаты.
IntentHandler.handler (_:)
IntentHandler.handler (_:)
IntentHandler.handler (_:)
IntentHandler.handler (_:)
IntentHandler.handler (_:)
CreateEntry.handle (: :)
Когда я изменяю аргумент INCreateNoteIntentResponseCode INCreateNoteIntentResponse на успех, Сири отвечает, что заметка создана, а затем показывает мне, что в заметке написано: «Да пребудет с тобой сила».
Сири никогда не спрашивал, чтосказать в записке.Я подумал, что если я отправлю ответ о готовности, как в моем коде выше, Сири спросит пользователя, что написать в заметке.
Я в тупике.Для этого не хватает документации.