Как получить пользовательский агент, используя swift, не используя устаревший WebView - PullRequest
0 голосов
/ 03 мая 2020

Мне нужно получить пользовательский агент. Я имел обыкновение получать это, используя UIWebView, но это устарело.

let userAgent = UIWebView().stringByEvaluatingJavaScript(from: "navigator.userAgent")!

Ответы [ 2 ]

1 голос
/ 03 мая 2020

Мы можем получить userAgent, используя приведенный ниже фрагмент кода,

import UIKit
import WebKit


class ViewController: UIViewController{

    var WKwebView: WKWebView!

    override func viewDidLoad() {
        super.viewDidLoad()
            getUserAgent()
    }

    func getUserAgent() {

              let webConfiguration = WKWebViewConfiguration()
       WKwebView = WKWebView(frame: .zero, configuration: webConfiguration)
             WKwebView.evaluateJavaScript("navigator.userAgent", completionHandler: { (result, error) in
                  debugPrint(result as Any)
                  debugPrint(error as Any)

                  if let unwrappedUserAgent = result as? String {
                      print("userAgent: \(unwrappedUserAgent)")
                  } else {
                      print("failed to get the user agent")
                  }
              })
    }

}

Вывод : userAgent: Mozilla / 5.0 (iPhone; CPU iPhone OS 13_3) как Mac OS X) AppleWebKit / 605.1.15 (K HTML, как Gecko) Mobile / 15E148

1 голос
/ 03 мая 2020

Используйте вместо этого WebKit.

import WebKit

let webView = WKWebView()
webView.evaluateJavaScript("navigator.userAgent") { (result, error) in
    print(result as! String)
}

// Output 
Mozilla/5.0 (iPad; CPU OS 13_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...