我的應用程序有UIWebViews,一些加載站點,我需要站點的桌面版本,一些加載站點,我需要移動版本的站點。爲多個UIWebView設置不同的用戶代理
因此,我將用戶代理設置爲桌面用戶代理或移動用戶代理來實現此目的。
例如,如果我想要一個UIWebView加載網站的桌面版本,我會簡單地權之前運行此代碼:
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36", @"UserAgent", nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];
的問題是,這當然是設置一個NSUserDefaults的變量,這意味着任何一個UIWebView在我的應用程序中加載後,它將使用桌面用戶代理。我可以根據需要在桌面和移動設備之間觸發NSUserAgent並相應加載,但有時我的應用需要同時加載兩個UIWebViews,一個移動設備,一個桌面。
有沒有什麼辦法可以設置特定於所述UIWebView的UIWebView的用戶代理?
我假設這將涉及NSXrlRequest方法或什麼?我對這些東西知之甚少
不知道關於WKWebView –
感謝您的編輯。我忘了他們沒有添加,直到iOS 9。 – dgatwood
無後顧之憂!這有助於我當前的項目,今晚切換到WKWebView! –