我正在爲我們的應用程序的SiriKit
意向擴展。我們正在使用鍛鍊擴展類型。問題是,我只是把所需的方法,並總是通過.ready
但Siri總是迴應,當開始與SiriKit鍛鍊時,Siri總是迴應'繼續在應用程序'
對不起,你必須繼續在應用程序。
我已經嘗試過其他反應,以及(.failure
和.unspecified
),但她還是說繼續在應用程序。我遵循Apple提供的文檔來設置我的.plist
文件,但它仍然可能與此有關。
這裏是我的意圖代碼:
class IntentHandler: INExtension, INStartWorkoutIntentHandling, INPauseWorkoutIntentHandling, INResumeWorkoutIntentHandling, INCancelWorkoutIntentHandling, INEndWorkoutIntentHandling {
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.
return self
}
func handle(startWorkout intent: INStartWorkoutIntent, completion: @escaping (INStartWorkoutIntentResponse) -> Void) {
print("Starting Service")
let activity = NSUserActivity(activityType: "start_service")
let result = INStartWorkoutIntentResponse(code: .ready, userActivity: activity)
completion(result)
}
func handle(endWorkout intent: INEndWorkoutIntent, completion: @escaping (INEndWorkoutIntentResponse) -> Void) {
print("Ending Service")
let result = INEndWorkoutIntentResponse(code: .ready, userActivity: nil)
completion(result)
}
func handle(pauseWorkout intent: INPauseWorkoutIntent, completion: @escaping (INPauseWorkoutIntentResponse) -> Void) {
print("Pausing Service")
let result = INPauseWorkoutIntentResponse(code: .ready, userActivity: nil)
completion(result)
}
func handle(cancelWorkout intent: INCancelWorkoutIntent, completion: @escaping (INCancelWorkoutIntentResponse) -> Void) {
print("Cancel Service")
let result = INCancelWorkoutIntentResponse(code: .ready, userActivity: nil)
completion(result)
}
func handle(resumeWorkout intent: INResumeWorkoutIntent, completion: @escaping (INResumeWorkoutIntentResponse) -> Void) {
print("Resume Service")
let result = INResumeWorkoutIntentResponse(code: .ready, userActivity: nil)
completion(result)
}
}
我想在開始鍛鍊意圖處理的斷點,它擊中的功能。我也嘗試將.ready
傳遞給INMessageIntent,並且Siri在應用程序中沒有公開地迴應。我想知道這是否總是適用於鍛鍊擴展。如果是這樣,我仍然希望Siri展示我的IntentsUI。
感謝您的回覆。
好的,這工作,但我怎麼得到它來顯示我的IntentsUI? – ctkrocks