Недавно я обнаружил, что мое приложение с Sirikit для добавления новой задачи больше не работает. всякий раз, когда я пытаюсь подтвердить предоставленную пользователем информацию, указав INSpeakableStringResolutionResult.confirmationRequired
для разрешения заголовка или списка, Siri всегда отвечает «Извините, возникла проблема с приложением», «Ой, что-то не так. Пожалуйста, попробуйте еще раз».
Мне любопытно, кто-нибудь знает, есть ли изменение спецификации или какая-либо аналогичная проблема, возникшая у вас в последней версии iOS 13.1.x ??
, пример кода здесь:
import Intents
class IntentHandler: INExtension, INSendMessageIntentHandling, INAddTasksIntentHandling, INSearchForMessagesIntentHandling, INSetMessageAttributeIntentHandling {
func handle(intent: INAddTasksIntent, completion: @escaping (INAddTasksIntentResponse) -> Void) {
let userActivity = NSUserActivity(activityType: NSStringFromClass(INAddTasksIntent.self))
let response = INAddTasksIntentResponse(code: .success, userActivity: userActivity)
completion(response)
}
func resolveTargetTaskList(for intent: INAddTasksIntent, with completion: @escaping (INAddTasksTargetTaskListResolutionResult) -> Void) {
completion(INAddTasksTargetTaskListResolutionResult.notRequired())
//completion([INSpeakableStringResolutionResult.confirmationRequired(with: INSpeakableString(spokenPhrase: "test1"))])
}
func resolveTaskTitles(for intent: INAddTasksIntent, with completion: @escaping ([INSpeakableStringResolutionResult]) -> Void) {
completion([INSpeakableStringResolutionResult.notRequired()])
//completion([INSpeakableStringResolutionResult.confirmationRequired(with: INSpeakableString(spokenPhrase: "test2"))])
}
override func handler(for intent: INIntent) -> Any {
return self
}
}
, если мы используем другие параметры вместо confirmationRequired
. это будет работать как ожидалось. я также пробую тот же параметр для INSendMessageIntentHandling
и тренировки, но оба они тоже работают. это довольно странно, так как это не удалось только в INTaskIntent.
большое спасибо:)