Arm*_*min 2 webview ios nsurlsession swift ios9
我一直在尝试设置一个Web视图包装器应用程序,它将加载一个网站的内容(仍然要启动).目前,该网站处于开发模式,该网站的唯一端点受到http身份验证的保护.
我一直在寻找这个解决方案:Swift webview xcode发布数据
但是,我不想每次都发出一个POST请求,但我宁愿一次对网站进行身份验证并保持连接.
我正在寻找的是一个干净稳定的解决方案,这个解决方案可以让我能够控制边缘情况,例如提供的错误凭据.
我不习惯使用NSURLConnection,因为在iOS9中不推荐使用该解决方案.我需要一个NSURLSession的解决方案.
如果我在上述链接解决方案中缺少某些内容,请告诉我.我相信有人也有这个问题.此外,该网站还具有SSL保护.
亲切的问候
Ger*_*ero 10
我不完全确定这会以最好的方式满足您的要求,但如果您可以使用a WKWebView,也许您可以简单地依赖身份验证挑战委托方法?在这里也可以看到我的答案,相关的代码片段是:
func webView(webView: WKWebView, didReceiveAuthenticationChallenge
challenge: NSURLAuthenticationChallenge,
completionHandler: (NSURLSessionAuthChallengeDisposition, NSURLCredential?) -> Void) {
let creds = NSURLCredential(user:"username", password:"password", persistence: NSURLCredentialPersistence.ForSession)
completionHandler(NSURLSessionAuthChallengeDisposition.UseCredential, creds)
}
Run Code Online (Sandbox Code Playgroud)
我自己还没有尝试过,但是文档说会话应该使用凭证,因此链接产生的额外请求应该有效.即使没有,这只会导致再次调用该方法,您可以再次提供凭据.
这仅仅是一个臀部,你必须从一个警告或类似获得名和密码(你也可以保存凭证更优雅作出委托方法更优雅的后续调用).
您还写道,您正在使用SSL,因此我认为您熟悉App Transport Security标记(因为问题标题中只有"HTTP"而不是"HTTPS",您可能希望它能够顺利运行,否则看到我链接的问题).
| 归档时间: |
|
| 查看次数: |
2720 次 |
| 最近记录: |