针对didReceiveAuthenticationChallenge的WKWebView iOS 10.3崩溃?

Ank*_*ava 5 iphone authentication ios wkwebview ios10.3

func webView(webView: WKWebView, didReceiveAuthenticationChallenge challenge: NSURLAuthenticationChallenge, completionHandler: (NSURLSessionAuthChallengeDisposition, NSURLCredential?) -> Void) {
    var user: String?
    var password: String?
    switch providerID {
    case "197": // ABC Stagging
        user = "ABC"
        password = "abc"
    default:
        break
    }
    if let user = user, password = password {
        let credential = NSURLCredential(user: user, password: password, persistence: NSURLCredentialPersistence.ForSession)
        challenge.sender?.useCredential(credential, forAuthenticationChallenge: challenge)
        completionHandler(NSURLSessionAuthChallengeDisposition.UseCredential, credential)
    }
}
Run Code Online (Sandbox Code Playgroud)

根据崩溃情况,崩溃正在发生在线信息接收器没有发送挑战.

    challenge.sender?.useCredential(credential, forAuthenticationChallenge: challenge)
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.这仅在iOS 10.3上发生.我猜有些用户已经测试并且正在体验这一点.

Str*_*ara 4

对我来说同样的问题,我通过评论这一行修复了它

//    challenge.sender?.useCredential(credential, forAuthenticationChallenge: challenge)
Run Code Online (Sandbox Code Playgroud)

  • 评论这一行并保留 ``completionHandler(URLSession.AuthChallengeDisposition.useCredential, credential)`` 为我修复它 (2认同)