如何防止 WKWebView 的“用户代理”header 发生变化?

How can I prevent the “User Agent” header of a WKWebView from changing?

    let url =  NSURL(string:"http://www.examplepage.com/“)
            let Request = NSMutableURLRequest(URL: url!)


            Request.setValue("Custom-Agent", forHTTPHeaderField: "User-Agent")

            let task1 = NSURLSession.sharedSession().dataTaskWithRequest(Request){ data, response, error in

                let contentPage =  NSString(data: data!, encoding: NSUTF8StringEncoding)
                self.webView!.loadHTMLString(contentPage! as String, baseURL: url)

            }
            task1.resume()

我使用以下代码设置了 WKWebView 的“用户代理”header。

首次加载应用程序时效果很好,但只有在单击按钮进入 link 后,“User-Agent”才会发生变化。

如何防止 "User-Agent" 发生变化?

  1. 对于iOS 9,在网络视图上使用customUserAgent 属性。

  2. 对于 iOS 8 及更早版本,改为执行此操作:

    NSUserDefaults.standardUserDefaults().registerDefaults(["UserAgent" : "BlahBlahBlah"])

我已经成功了。这是解决方案!

ViewController:

override func viewDidAppear(animated: Bool) {

        let url = NSURL(string:"http://www.examplepage.com/")!
        webView!.loadRequest(NSURLRequest(URL: url))
        webView!.allowsBackForwardNavigationGestures = true     
    }

AppDelegate:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    NSUserDefaults.standardUserDefaults().registerDefaults(["UserAgent": “YourUserAgent”])

    return true
    }