【发布时间】:2017-02-05 23:12:22
【问题描述】:
我的应用有 UIWebViews,一些我需要桌面版网站的加载网站,一些我需要移动版网站的加载网站。
所以我将用户代理设置为桌面用户代理或移动用户代理来实现这一点。
例如,如果我希望 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 并相应地加载,但有时我的应用程序需要同时加载两个 UIWebView,一个移动设备,一个桌面。
有什么方法可以设置特定于所述 UIWebView 的 UIWebView 的用户代理?
我假设这将涉及调配 NSUrlRequest 方法之类的?我对这些东西知之甚少
【问题讨论】:
标签: ios objective-c uiwebview user-agent nsurlrequest