【发布时间】:2019-03-16 07:07:03
【问题描述】:
我正在尝试使用以下代码从我的应用程序中打开亚马逊应用程序:
if let url = URL(string: "amzn://"),
UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else if let url = URL(string: "https://www.amazon.com") {
// fallback
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
当我将它用于 Youtube 应用程序时,这就像一个魅力。但是,现在使用 Amazon,它在报告此错误时只是默默地失败:
2018-10-11 10:38:09.794370+0200 App[9739:3023026] -canOpenURL:URL 失败:“amzn://” - 错误:“操作无法完成。(OSStatus 错误 - 10814.)"
我已在Info.plist 中将 url 方案添加到 LSApplicationQueriesSchemes,但这并没有改变:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>amzn</string>
</array>
更奇怪的是,它甚至没有打开后备 URL - 我希望如果 canOpen 失败,第二个分支会起作用。
【问题讨论】:
-
请检查这个答案:-stackoverflow.com/questions/43000359/….
标签: ios swift url-scheme