Как открыть приложение Amazon из моего приложения? - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь открыть приложение Amazon из своего приложения, используя следующий код:

if let url = URL(string: "amzn://"),
    UIApplication.shared.canOpenURL(url) {
    UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else if let url = URL(string: "https://www.amazon.com") {
    // fallback
    UIApplication.shared.open(url, options: [:], completionHandler: nil)
}

Это сработало как чудо, когда я использовал его для приложения Youtube.Однако теперь с Amazon просто происходит сбой, когда он сообщает об этой ошибке:

2018-10-11 10: 38: 09.794370 + 0200 Приложение [9739: 3023026] -canOpenURL: сбой для URL: "amzn: // "- error:" Операция не может быть завершена. (Ошибка OSStatus -10814.) "*

Я добавил схему URL в LSApplicationQueriesSchemes в Info.plist, ноэто ничего не изменило:

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>amzn</string>
</array>

Что еще более странно, он даже не открывает запасной URL - я ожидаю, что если canOpen не удастся, вторая ветвь будет работать.

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Итак, после еще одного исследования, основанного на https://www.appsight.io, кажется, что приложение amazon использует не "amzn://" схему URL, а "amazonToAlipay://".После изменения этого значения UIApplication.shared открывает приложение Amazon.

Благодаря @LinusGeffarth и его ответу на другой связанный вопрос.

0 голосов
/ 11 октября 2018

Начиная с iOS 9 с универсальными ссылками, вы должны просто дать ссылку на обычный URL-адрес, и если приложение установлено на устройстве пользователя, приложение amazon перехватит его.См. Также Универсальные ссылки на Amazon .

...