OpenUrl无法在iOS10上运行

时间:2016-10-10 09:10:58

标签: ios objective-c swift ios10

我的应用使用openURL打开Goog​​le地图应用。 它适用于iOS 9,但不适用于iOS 10。

据我所知,这种方法在iOS 10上已弃用,而且新的参数更多。 但是,我在任何地方都看到它仍然可以工作,并且更改为新方法只会阻止xCode中的警告。 我还想支持iOS 9及更低版本。

任何帮助?

感谢。

1 个答案:

答案 0 :(得分:8)

info.plist 文件中添加LSApplicationQueriesSchemes键。

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

使用此....

目标c

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"comgooglemaps://maps.google.com/maps"] options:@{} completionHandler:nil];

Swift 4

 guard let url = URL(string: "comgooglemaps://maps.google.com/maps") else {
      return //be safe
 }

if #available(iOS 10.0, *) {
    UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
   UIApplication.shared.openURL(url)
}