【问题标题】:Opening a url is failing in Swift在 Swift 中打开 url 失败
【发布时间】:2018-06-21 23:50:45
【问题描述】:

在回调中设置断点并记录成功显示为 false。

我将 itms-apps 添加到我的 plist:LSApplicationQueriesSchemes

并将其放入我的应用委托中:

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
    return true
}

func moreTapped() {
    let url = NSURL(string: "itms-apps://itunes.com/developer/quantum-productions/id979315877")
    if #available(iOS 10.0, *) {
        UIApplication.shared.open(url! as URL, options: [:], completionHandler: {(success: Bool) in

        })
    } else {
        UIApplication.shared.openURL(url! as URL)
    }
}

【问题讨论】:

  • 你是在真机上测试吗?
  • 我在设备上尝试,得到“无法连接到 App Store”。设备在线
  • 你不先打电话给canOpenURL(_:)?你有任何日志信息吗?
  • 尝试将 URL 设为 itms://itunes.apple.com/us/app/quantum-productions/id979315877

标签: ios swift appdelegate


【解决方案1】:

您的 URL 格式不正确,您应该在 Swift 中使用 URL 而不是 NSURL

这将在 App Store 应用中打开您的开发者页面:

if let url = URL(string:"itms-apps://geo.itunes.apple.com/developer/quantum-productions/id979315877&mt=8") {
    UIApplication.shared.open(url, options: [:], completionHandler: nil)
}

对于http/sitms 等标准URL 类型,无需调用canOpenURL

【讨论】:

  • 您确定该方案不是itms-apps?我只是在移动 safari 上尝试过它,至少从那里我没有被要求在 AppStore 应用程序中打开它,但使用 itms-app 我是。您建议的域更正等(使用geo)似乎是正确的。
  • Boinks,你在我保存的时候正确地编辑了。赞一个,答案是对的。 :)
  • Itms 也可以,但它打开的是 iTunes Store 而不是 App Store,这不是我们想要的。
【解决方案2】:

Apple 刚刚公布了 appstore.com 网址。

**

https://developer.apple.com/library/ios/qa/qa1633/_index.html

**

要创建 App Store 短链接,请将以下规则应用于您的公司或应用名称:

删除所有空格

将所有字符转换为小写

删除所有版权 (©)、商标 (™) 和注册商标 (®) 符号

将和号(“&”)替换为“and”

删除大部分标点符号(参见清单 2 的集合)

将重音字符和其他“装饰”字符(ü、å 等)替换为 它们的基本特征(u、a 等)

保持所有其他字符不变。

清单 2 必须删除的标点符号。

!¡"#$%'()*+,-./:;¿?@[]^_`{|}~

以下是一些示例来演示所需的转换 地点。

应用名称示例

陶笛=> http://appstore.com/ocarina

根据 Apple 的最新文档 items-apps: 或 items: 将不起作用。你需要使用

应用商店链接 = "https://itunes.apple.com/us/app/apple-store/id375380948?mt=8"

> SKStoreProductViewController

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-30
相关资源
最近更新 更多