2017-07-17 4 views
2

私はインテントハンドラのハンドル機能の正しい指示に従っていると思いますが、すべてが完了すると(データが保存される)、私はhandle関数から成功コードを送り返しますが、リクエストが終了すると、Siriは常に「Continue in app」を表示します。誰もが同様の問題を抱えていて、解決策を知っていますか?ここで私は迅速で書かれたハンドラを、終了する前に実装するコードは次のとおりです。気になる方に処理追加タスクのインテント、シリキットを追加

let userActivity = NSUserActivity(activityType: NSStringFromClass(INAddTasksIntent.self)) 
    let response = INAddTasksIntentResponse(code: .success, userActivity: userActivity) 
    completion(response) 
+0

シリのディスプレイに「申し訳ありませんが、アプリで続行する必要があります」と明記する必要があります。アプリ内で続行するだけではない – DanielInTheDen

+0

私は同じことがCreate Noteハンドラで同じコードを使って私に起こることを追加する必要があります – DanielInTheDen

+0

あなたのアプリをシミュレータから削除して再インストールしてみてください – paper1111

答えて

1

、問題は、対象タスクリストを取り付けることによって解決されると、次のようにタスクが応答に追加する:

let responseCode = INAddTasksIntentResponseCode.success 

    let response = INAddTasksIntentResponse(code: responseCode, 
               userActivity: nil) 

    var addedTasks:[INTask] = [] 
    for title in intent.taskTitles!{ 
     let newTask = INTask(title: title, status: .notCompleted, taskType: .completable, spatialEventTrigger: nil, temporalEventTrigger: nil, createdDateComponents: nil, modifiedDateComponents: nil, identifier: nil) 

     addedTasks.append(newTask) 
    } 

    response.modifiedTaskList = intent.targetTaskList! 
    response.addedTasks = addedTasks 
    completion(response) 
関連する問題