Ios youtube url赢得';t打开

Ios youtube url赢得';t打开,ios,swift,Ios,Swift,我正在使用此代码在youtube应用程序中打开youtube url,如果它在safari浏览器中存在,但没有任何功能 代码如下: func openVideo(videoLink: String){ print(videoLink)// https://www.youtube.com/watch?v=66q2fmLWMCI print(videoLink.replacingOccurrences(of: "https", with: "youtube")) // youtube

我正在使用此代码在youtube应用程序中打开youtube url,如果它在safari浏览器中存在,但没有任何功能

代码如下:

func openVideo(videoLink: String){
    print(videoLink)// https://www.youtube.com/watch?v=66q2fmLWMCI
    print(videoLink.replacingOccurrences(of: "https", with: "youtube")) // youtube://www.youtube.com/watch?v=66q2fmLWMCI
    let url = URL(string: videoLink.replacingOccurrences(of: "https", with: "youtube"))
    if !UIApplication.shared.canOpenURL(url!)  {
        UIApplication.shared.open(url!)
    }else{
        UIApplication.shared.open(URL(string: videoLink)!, options: [:], completionHandler: nil)
// I have also used 
// UIApplication.shared.open(URL(string: videoLink)!)
// UIApplication.shared.openURL(URL(string: videoLink)!)
    }
}
它给了我这个错误
未能找到URL:“youtube://www.youtube.com/watch?v=66q2fmLWMCI“-错误:“操作无法完成。(OSStatus错误-10814)。”

这不是一个错误,只是一个日志,说明无法在youtube中打开url,可能是因为设备上未安装youtube。 此外,如果else阻塞,您打开youtube的位置也错误。Youtube应该在您有Youtube应用程序时打开,而不是在您没有Youtube应用程序时打开,这正是您在代码中所做的。 只需修改这一行

    if !UIApplication.shared.canOpenURL(url!)  {
        UIApplication.shared.openURL(URL(string: videoLink)!)
    }else{
        UIApplication.shared.open(url!)
    }