我想用苹果设备的Safari浏览器打开一些网址。而且我的 openURL 函数在大多数情况下都能正常工作。但是,当我尝试打开此 URL 时,它失败并出现以下错误。
Download Failed Safari cannot download file.
这是失败的 URL: https://www.youtube.com/v/QH2-TGUlwu4?version=3&autohide=1
这是我的代码:
let url = "https://www.youtube.com/v/QH2-TGUlwu4?version=3&autohide=1"
if let nsurl = NSURL(string: url){
if UIApplication.sharedApplication().canOpenURL(nsurl){
UIApplication.sharedApplication().openURL(nsurl)
}else{
print("Cannot open this NSURL.")
}
}else{
print("Cannot convert String to NSURL.")
}
最佳答案
您提到的网址 https://www.youtube.com/v/QH2-TGUlwu4?version=3&autohide=1 包含一个 SWF 文件,即 Shockwave Flash 文件。
Flash 无法在基于 iOS 的设备上播放 (link)。
1) 您需要向用户显示适当的错误消息。
2) 或者您可以将用户重定向到 YouTube 应用程序(而不是 Safari),用户可以在其中流式传输和观看视频。 看这个Apple doc link了解如何将用户重定向到 YouTube 应用。
关于ios - OpenURL 无法打开某些非常具体的 URL 并显示错误 "Download Failed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41628786/