Ios Swift:WKWebView未从带有标题的安全URL播放视频
我有一个安全的私有URL,我必须用它传递两个头才能得到响应。 当我尝试使用URL将数据加载到WKWebView时,如果它是图像,则在WKWebView上显示图像时不会出现任何问题,但如果它是视频,则仅显示带有播放按钮的空白屏幕,当我点击播放按钮时,不会发生任何情况。我等了将近20分钟,以为视频正在加载,但没有回应 它正在识别正确的mimetype和content类型 请有人看看我的代码,告诉我哪里出了问题。如果必须对URL或后端进行任何更改,那么应该做些什么,以便URL能够流式传输视频或在webview上播放视频 这是我的代码:Ios Swift:WKWebView未从带有标题的安全URL播放视频,ios,swift,video-streaming,wkwebview,Ios,Swift,Video Streaming,Wkwebview,我有一个安全的私有URL,我必须用它传递两个头才能得到响应。 当我尝试使用URL将数据加载到WKWebView时,如果它是图像,则在WKWebView上显示图像时不会出现任何问题,但如果它是视频,则仅显示带有播放按钮的空白屏幕,当我点击播放按钮时,不会发生任何情况。我等了将近20分钟,以为视频正在加载,但没有回应 它正在识别正确的mimetype和content类型 请有人看看我的代码,告诉我哪里出了问题。如果必须对URL或后端进行任何更改,那么应该做些什么,以便URL能够流式传输视频或在web
import UIKit
import Foundation
import WebKit
class ViewController: UIViewController, WKNavigationDelegate {
var request:NSMutableURLRequest!
var wkwebview: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
tryload()
wkwebview = WKWebView(frame: CGRect(x: 0, y: 20, width: self.view.frame.width, height: self.view.frame.height - 20), configuration: WKWebViewConfiguration())
self.view.addSubview(wkwebview)
}
func tryload() {
let headers = [
"auth-token": "+XXXXX:XXXX:XXX",
"Accept-Encoding": "",
]
let request = NSMutableURLRequest(url: NSURL(string: "http://example.com/api/assets/download/a235c923-ca7g-42be-81dd-89b14d0?Id=1&type=ASSET&otherId=9")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print("the error is \(error)")
} else {
let httpResponse = response as? HTTPURLResponse
print("The HTTP response is \(httpResponse)")
print("the response is \(response?.mimeType)")
print("the data is \(data)")
self.wkwebview.load(request as URLRequest)
}
})
dataTask.resume()
}
}
为什么你甚至需要???@Sandeppebhandari的数据任务来检查请求的响应。即使在datatask之前尝试将请求加载到wkwebview,结果也是一样的!您是否有可能帮助我解决此问题实现所有WKWebView委托(如导航委托),并检查您是否接收到任何身份验证质询实施uiDelegate以及url的响应是否包含打开新窗口/选项卡窗口的空代码或javascript代码。open()uiDelegate createWebViewWithConfiguration被调用。让我们知道我们将帮助你的问题out@SandeepBhandari谢谢我试着实现所有的代表,但我不明白哪里出了问题。使用相同的实现,我尝试将dropbox链接放入视频,它正在播放视频!