Как перенаправить на карту Google, если она установлена, иначе перенаправить в Appstore для установки Google Map с помощью Swift - PullRequest
0 голосов
/ 11 января 2019

Мне нужно открыть карту Google в моем приложении для iOS. Если карта Google установлена, перейдите к карте Google, в противном случае перенаправьте в AppStore для установки Google Maps. Это мои попытки

 if (UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)) {

            print("app found")
            UIApplication.shared.open(URL(string: "comgooglemaps://?center=9.9894,76.5790&zoom=14&views=traffic&q=\(lattitude),\(longitude)")!, options: [:], completionHandler: nil)

        }else {

            showAlertWithTitle(title: "App not found", message: "You need to install Google Map", fromViewController: self)
            print("Can't use comgooglemaps://")
     }

Ответы [ 2 ]

0 голосов
/ 11 января 2019
 if (UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)) {

            print("app found")
            UIApplication.shared.open(URL(string: "comgooglemaps://")!, options: [:], completionHandler: nil)

        }else {

            UIApplication.shared.openURL(NSURL(string: "itms://itunes.apple.com/us/app/google-maps-transit-food/id585027354?mt=8")! as URL)
            print("Can't use comgooglemaps://")
        }

Также, пожалуйста, добавьте следующий код в ваш info.plist

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>googlechromes</string>
    <string>comgooglemaps</string>
</array>

Пожалуйста, добавьте код и дайте мне знать. Приведенный выше код откроет карту Google, если она установлена ​​на вашем устройстве, в противном случае он будет перенаправлен в магазин приложений.

0 голосов
/ 11 января 2019

Один из вариантов - использовать UIApplication openURL с URL-адресом, который начинается с http://maps.google.com.

Если у пользователя установлено приложение Google Maps, оно будет запущено.

Если у пользователя не установлено приложение, Safari откроется на странице карт Google. Помимо отображения карты, эта страница даст пользователю возможность перейти в App Store, чтобы получить приложение, если это необходимо.

Этот подход обладает наибольшей гибкостью и предлагает пользователю наибольший выбор того, что он хочет сделать.

Альтернативой является использование подхода, который вы рассматривали, и проверка схемы comgooglemaps. В вашем else вы можете отобразить SKStoreProductViewController передачу идентификатора приложения для приложения Google Maps (585027354).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...