2017-01-29 3 views
2

Я просто обновляю свой телефон до iOS 10.2.1.Проверьте, установлены ли Карты Google - iOS 10.2.1

В моем приложении Swift (с использованием 3.0) я пытаюсь проверить, установлен ли Google Maps на телефоне. Если да, откройте этот адрес в Картах Google.

UIApplication.shared.canOpenURL(NSURL(string:"comgooglemaps://")! as URL) 

Несмотря на то, что у меня установлены Карты Google, выражение оценивается как false.

Как ни странно, я могу открыть Google Maps в Swift с этим

UIApplication.shared.open(NSURL(string: 
      "comgooglemaps://?saddr=&daddr=\(lat),\(lon)&directionsmode=driving")! as URL, options: [:], completionHandler: nil) 

Было ли какое-то изменение прошивки 10.2.1, что предотвращает первое выражение от оценки, чтобы быть правдой?

URL, кажется, один и тот же (comgooglemaps)

там что-то теперь требуется в PLIST?

+1

Вам лучше проверить [это] (http://stackoverflow.com/a/34331058/6541007). – OOPer

+0

, и я чувствую себя идиотом; Спасибо @OOPer –

+1

Возможный дубликат [схемы URL-адресов Google Карт, не работающих в iOS 9] (http://stackoverflow.com/questions/32686515/google-maps-url-scheme-not-working-on-ios-9) – rmaddy

ответ

4

Что вы реализации является законным, но вы должны добавить схемы URL в приложение info.plist, добавив LSApplicationQueriesSchemes массив и добавления «comgooglemaps» к нему:

LSApplicationQueriesSchemes (Array - iOS) Указывает схемы URL , которые вы хотите, чтобы приложение могло использовать метод canOpenURL: класс UIApplication. Для каждой схемы URL, которую вы хотите, чтобы ваше приложение использовало с помощью метод canOpenURL: добавьте его как строку в этом массиве. Прочитайте canOpenURL: описание метода для важной информации о , объявляющем поддерживаемые схемы и используя этот метод.

Она должна быть похожа на -somehow-:

enter image description here

Для получения дополнительной информации вы можете проверить документацию (упомянутый выше).

Смежные вопросы