Как я могу кодировать ярлык Siri, который открывает и запускает навигацию в Картах Google в определенном месте? - PullRequest
0 голосов
/ 23 декабря 2019

Есть два шага: 1) Откройте приложение Google Maps 2) Укажите конкретное местоположение для Google Maps

У меня проблемы с первым шагом. Я не могу открыть приложение из Siri Shortcuts. Давайте рассмотрим пример, чтобы открыть любое приложение. Я хочу открыть приложение ярлыков после того, как пользователь скажет «Создать новые ярлыки». Код ниже является кодом для открытия приложения ярлыков.

let shortcut = "shortcuts://"
        let url = URL(string: shortcut)!

        UIApplication.shared.open(url,
                                  options: [:],
                                  completionHandler: nil)

Это работает, если я просто предоставлю кнопку в моем главном контроллере вида и нажму на нее. Но после определения его в классе IntentHandler он больше не работает.

class NavigateMeIntentHandler: NSObject, NavigateMeIntentHandling {


    func handle(intent: NavigateMeIntent, completion: @escaping (NavigateMeIntentResponse) -> Void) {

        let shortcut = "shortcuts://"
        let url = URL(string: shortcut)!

        UIApplication.shared.open(url,
                                  options: [:],
                                  completionHandler: nil)


    }
}

Конечно, у Siri есть наследственная логика открытия уже установленных приложений, но я хочу определить свою собственную логику или код, потому что я хочу открывать карты Google с определенным местоположением после того, как пользователь вызывает эту функцию сфраза, которую он определяет, а не то, что Siri предоставляет ему (то есть Open AppName)

...