问题
The following URL scheme was working on previous version but doesn't work anymore on iOS 9:
comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan¢er=35.660888,139.73073&zoom=15&views=transit
Did something change on iOS 9 that prevent apps from opening other apps using URL schemes?
回答1:
In iOS 9, Apple has made a change to the handling of URL schemes. Now you need to add "LSApplicationQueriesSchemes" key in plist and then add URLScheme you want to call.
<key>LSApplicationQueriesSchemes</key>
<array>
<string>comgooglemaps</string>
</array>
回答2:
In iOS 9.0, further restrictions were placed on the canOpenURL
method -- for this method to work, you will need to add a LSApplicationQueriesSchemes
array to your app's info.plist
file, and then add items for each URL scheme
you will want to query. These schemes as comgooglemaps
, comgooglemaps-x-callback
, and your own app's custom URL scheme.
I have added following items in my info.plist.
<key>LSApplicationQueriesSchemes</key>
<array>
<string>comgooglemaps</string>
<string>comgooglemaps-x-callback</string>
</array>
Try with this sample code OpenInGoogleMaps-iOS.
来源:https://stackoverflow.com/questions/32686515/google-maps-url-scheme-not-working-on-ios-9