Можно ли использовать ярлыки Siri в любом приложении?Поскольку SiriKit работает только в туризме, в чате и т. Д.
Да, любой.Они не привязаны к какой-либо конкретной области.Они пользовательские.
Теперь с помощью ярлыков.Могу ли я перейти к своему приложению, отображающему определенную страницу по Siri?
Да.
Приведенный ниже код показывает самый простой способ показать определенную страницу по Siri,называется «Пожертвование ярлыка» через NSUserActivity
.Но вы можете достичь того же, определив пользовательский INIntent
.
Шаг 1:
В Info.plist
, в NSUserActivityTypes
добавьте строку типа деятельности:com.app.viewPage
Шаг 2:
Создать действие:
let viewPageActivityType = "com.app.viewPage"
let viewPageActivity: NSUserActivity = {
let userActivity = NSUserActivity(activityType: viewPageActivityType)
userActivity.title = "View Page"
userActivity.suggestedInvocationPhrase = "View Page"
userActivity.isEligibleForSearch = true
userActivity.isEligibleForPrediction = true
return userActivity
}()
Затем добавьте его в контроллер представления:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
userActivity = viewPageActivity
}
}
Шаг 3:
Обрабатывать его в методе UIApplicationDelegate
(этот метод вызывается, если пользователь нажимает ярлык или активирует его из Siri с помощью голоса):
public func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
if userActivity.activityType == viewPageActivityType {
print("open the `ViewController` here")
return true
}
return false
}
После того, как пользователь откроет ViewController
один раз, он может получить подсказку на экране блокировки и предложениях поиска.Они также могут перейти к Settings -> Siri & Search -> My Shortcuts
, чтобы определить пользовательскую фразу для выполнения действия с использованием голоса.
Чтобы отладить это, обязательно используйте устройство (не имитатор).Затем перейдите к Settings -> Developer -> Enable "Display Recent Shortcuts" and "Display Donations on Lock Screen"
.
. Здесь есть много полезных ресурсов: