【问题标题】:OpenUrl not working on iOS10OpenUrl 在 iOS10 上不起作用
【发布时间】:2016-10-10 09:10:58
【问题描述】:

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

我了解此方法在 iOS 10 上已被弃用,并且有一个具有更多参数的新方法。 但是,我到处都看到它应该仍然有效,并且更改为新方法只会阻止 xCode 中的警告。 我还想继续支持 iOS 9 及更低版本。

有什么帮助吗?

谢谢。

【问题讨论】:

  • 你可以在这里找到关于替代品的详细描述useyourloaf.com/blog/openurl-deprecated-in-ios10
  • 我读到,在 cmets 中作者说:“该方法不会在 iOS 10 中删除,但是当您针对 iOS 10 SDK 构建时,您会在 Xcode 中收到警告”。正如我所说 - 它应该可以工作,只会阻止警告。
  • 你能展示你的代码吗?
  • 不是真的 :) 这是我工作的公司。我注意到它只发生在打开一个应用程序时,如果我输入一个 http url 它就可以工作。
  • 你能展示你的代码吗?

标签: ios objective-c swift ios10


【解决方案1】:

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];

斯威夫特 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)
}

【讨论】:

    猜你喜欢
    • 2016-12-22
    • 2017-01-27
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    相关资源
    最近更新 更多