Guest User

Untitled

a guest
Nov 20th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. import Intents
  2.  
  3. class IntentHandler: INExtension, INAddTasksIntentHandling {
  4.  
  5. //Resolve
  6. func resolveTaskTitles(for intent: INAddTasksIntent, with completion: @escaping ([INSpeakableStringResolutionResult]) -> Void) {
  7. completion([INSpeakableStringResolutionResult.success(with: intent.taskTitles!.first!)])
  8. }
  9.  
  10. //Confirm
  11. func confirm(intent: INAddTasksIntent, completion: @escaping (INAddTasksIntentResponse) -> Void) {
  12. let responseCode: INAddTasksIntentResponseCode
  13. if intent.taskTitles != nil && intent.taskTitles!.count > 0 {
  14. responseCode = .success
  15. }
  16. else {
  17. responseCode = .failure
  18. }
  19.  
  20. completion(INAddTasksIntentResponse(code: responseCode, userActivity: nil))
  21. }
  22.  
  23. //Handle
  24. func handle(intent: INAddTasksIntent, completion: @escaping (INAddTasksIntentResponse) -> Void) {
  25. var response: INAddTasksIntentResponse
  26. if let taskTitles = intent.taskTitles {
  27. if taskTitles.count > 0 {
  28. let onlyFirstTask = INTask(title: taskTitles.first!, status: .unknown, taskType: .completable, spatialEventTrigger: nil, temporalEventTrigger: nil, createdDateComponents: nil, modifiedDateComponents: nil, identifier: nil)
  29. response = INAddTasksIntentResponse(code: .success, userActivity: nil)
  30. response.addedTasks = [onlyFirstTask]
  31. }
  32. else {
  33. response = INAddTasksIntentResponse(code: .failure, userActivity: nil)
  34. }
  35. }
  36. else {
  37. response = INAddTasksIntentResponse(code: .failure, userActivity: nil)
  38. }
  39. //Uygulamaya listeyi bu noktada eklememiz gerekiyor. File, DB, UserDefaults gibi yöntemler kullanılabilir.
  40. //addToApp(response.addedTasks)
  41.  
  42. completion(response)
  43. }
  44. }
Add Comment
Please, Sign In to add comment