iOS 12 WKWebview设置customUserAgent不起作用?

赵洪武*_*赵洪武 1 ios wkwebview ios12

设置wkwebview customUserAgent时,似乎iOS 12中存在错误.在webView:didFinishNavigation:方法中我打印customUserAgent并与webivew.evaluateJavaScript结果进行比较.它是不同的.

NSLog(@"user-agent is %@"); //Get a custom user-agent
[self.webView evaluateJavaScript:@"navigator.userAgent" completionHandler:^(id _Nullable result, NSError * _Nullable error) {
    NSLog(@"user-agent is %@", result); //Get a default  user-agent
}];
Run Code Online (Sandbox Code Playgroud)

任何人看到同样的问题吗?

赵洪武*_*赵洪武 8

最后,我发现问题是你在iOS 12中调用evaluateJavaScript:metthod之后无法更改customUserAgent.这是我的代码

self..webView.evaluateJavaScript("navigator.userAgent") { [weak self] (result, error) in
            self?.webView.customUserAgent = result as? String + "customAgent" //not work
        }
    }
Run Code Online (Sandbox Code Playgroud)

您可以初始化UIWebview或其他WKWebiview以获取当前用户代理并在其后附加自定义用户代理.

self.tempWebView.evaluateJavaScript("navigator.userAgent") { [weak self] (result, error) in
        if self == nil || error != nil {
            return
        }
        if let userAgent = result as? String {
            self?.webView.customUserAgent = userAgent + "custom agent"
        }
    }
Run Code Online (Sandbox Code Playgroud)