Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Intents
- class IntentHandler: INExtension, INAddTasksIntentHandling {
- //Resolve
- func resolveTaskTitles(for intent: INAddTasksIntent, with completion: @escaping ([INSpeakableStringResolutionResult]) -> Void) {
- completion([INSpeakableStringResolutionResult.success(with: intent.taskTitles!.first!)])
- }
- //Confirm
- func confirm(intent: INAddTasksIntent, completion: @escaping (INAddTasksIntentResponse) -> Void) {
- let responseCode: INAddTasksIntentResponseCode
- if intent.taskTitles != nil && intent.taskTitles!.count > 0 {
- responseCode = .success
- }
- else {
- responseCode = .failure
- }
- completion(INAddTasksIntentResponse(code: responseCode, userActivity: nil))
- }
- //Handle
- func handle(intent: INAddTasksIntent, completion: @escaping (INAddTasksIntentResponse) -> Void) {
- var response: INAddTasksIntentResponse
- if let taskTitles = intent.taskTitles {
- if taskTitles.count > 0 {
- let onlyFirstTask = INTask(title: taskTitles.first!, status: .unknown, taskType: .completable, spatialEventTrigger: nil, temporalEventTrigger: nil, createdDateComponents: nil, modifiedDateComponents: nil, identifier: nil)
- response = INAddTasksIntentResponse(code: .success, userActivity: nil)
- response.addedTasks = [onlyFirstTask]
- }
- else {
- response = INAddTasksIntentResponse(code: .failure, userActivity: nil)
- }
- }
- else {
- response = INAddTasksIntentResponse(code: .failure, userActivity: nil)
- }
- //Uygulamaya listeyi bu noktada eklememiz gerekiyor. File, DB, UserDefaults gibi yöntemler kullanılabilir.
- //addToApp(response.addedTasks)
- completion(response)
- }
- }
Add Comment
Please, Sign In to add comment