Ios Youtube在设备上失败,在模拟器上工作
我正在使用以下代码显示youtube视频:Ios Youtube在设备上失败,在模拟器上工作,ios,swift,youtube,Ios,Swift,Youtube,我正在使用以下代码显示youtube视频: webViewVideo.hidden = false webViewVideo.allowsInlineMediaPlayback = true webViewVideo.mediaPlaybackRequiresUserAction = false let youtubeIfarme = "<html><body><iframe src=\"http://www.youtube.com/embed/\(youtub
webViewVideo.hidden = false
webViewVideo.allowsInlineMediaPlayback = true
webViewVideo.mediaPlaybackRequiresUserAction = false
let youtubeIfarme = "<html><body><iframe src=\"http://www.youtube.com/embed/\(youtubeId)?playsinline=1\" width=\"\(CGRectGetWidth(loadedView.frame) - CGFloat(16))\" height=\"\(CGRectGetHeight(webViewVideo.frame))\" frameborder=\"0\" allowfullscreen></iframe></body></html>"
webViewVideo.loadHTMLString(youtubeIfarme, baseURL: NSBundle.mainBundle().bundleURL)
webViewVideo.hidden=false
webViewVideo.allowsInlineMediaPlayback=true
webViewVideo.mediaplaybackrequiresseraction=false
让youtubeIfarme=“”
webViewVideo.loadHTMLString(youtubeIfarme,baseURL:NSBundle.mainBundle().bundleURL)
哪种代码在模拟器上运行得很好,但在实际设备上却无法加载。我将以下定义为应用程序传输安全:
奇怪的是,我下载了,但结果是一样的。此外,从不调用委托方法。在他们的github页面上,他们有很多未解决的问题,所以我想这不是我最好的选择
我们将非常感谢您的帮助
编辑
我在模拟器上调试了我的html页面在UIWebView中的外观(通过Safari Develop连接):
您的模拟器和设备的操作系统版本是什么?它是同一个操作系统版本吗?不同的UIWebView可能会触发错误 也检查一下这个
我得回答我自己的问题。问题是,我过去常常通过实现所需的委托来显示
UITableViewHeader
中的视频:
我只有一个节,所以只有当section==0
我不知道到底是什么导致了这个问题时,我才在那里返回值,但可能是多次调用该方法导致了这个问题。我所做的只是将UIWebView
的初始化移到viewwillbeen
中,并将其设置为tableViewHeaderView
。所以我现在只设置一次,问题就解决了:
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
dispatch_once(&token) {
self.initHeader()
}
}
不幸的是没有帮助。设备是iPhone6和iOS9.2.1,模拟器是9.2
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
dispatch_once(&token) {
self.initHeader()
}
}