Подтвердить что ты не робот

Схема URL-адресов Google Maps, не работающая на iOS 9

Следующая схема URL работала над предыдущей версией, но больше не работает на iOS 9:

comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan&center=35.660888,139.73073&zoom=15&views=transit

Что-то изменилось в iOS 9, которое запрещает приложениям открывать другие приложения с помощью схем URL?

4b9b3361

Ответ 1

В iOS 9 Apple внесла изменения в обработку схем URL. Теперь вам нужно добавить ключ "LSApplicationQueriesSchemes" в plist, а затем добавить URLScheme, который вы хотите вызвать.

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

Ответ 2

В iOS 9.0 дополнительные ограничения были помещены в метод canOpenURL - для этого метода вам нужно будет добавить массив LSApplicationQueriesSchemes в файл приложения info.plist, а затем добавить элементы для каждого URL scheme, вы захотите запросить. Эти схемы как comgooglemaps, comgooglemaps-x-callback и ваша собственная схема пользовательских URL-адресов.

Я добавил следующие пункты в свой info.plist.

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>comgooglemaps</string>
    <string>comgooglemaps-x-callback</string>
</array>

Попробуйте использовать этот пример кода OpenInGoogleMaps-iOS.