Для работы потребуется xcode9-beta и iOS11 на девайсе
Для интеграции в стороннее приложение:
- добавить intents extension как новый таргет
- скопировать класс AddTaskIntentHandler.swift (этот класс включает в приложении поддержку ф-ции сири "Добавить в список")
- в классе который определен как стандартный Intent Handler (по умолчанию так и создается - IntentHandler.swift) в методе handler добавить
if intent is INAddTasksIntent {
return AddTaskIntentHandler()
}
- В основное приложение забрать SiriNotesHandler.swift, для поддержки логгирования можно Logger.swift
- Реализовать методы прописанные в SiriNotesHandler (адаптировать под свое API)
Тестирование.
В проекте в папке Resources лежат json файлы с данными. Я добавил 2 списка: смотрел, посмотрю (как в MUST). По фильмам: добавил следующие:
-
Аватар (одно слово, простое)
-
Аватар 2, Аватар 3 (для тестирования разрешения конфликтов имен)
-
Дедпул (одно слово, сложное - пишется не так, как произносится)
-
Криминальное чтиво, Бойцовский клуб (два слова)
-
Темный рыцарь (два слова + буква ё в названии)
-
Моцарт в джунглях
Примеры фраз которые сири поймет:
-
Добавь Аватар в список смотрел в MustSiri
-
Добавь Аватар в список посмотрю в MustSiri
-
Добавь криминальное чтиво в список смотрю в MustSiri (в моем случае добавит в список Посмотрю - там идет проверка на containsString)