在运行时更改iOS中UIWebView的用户代理

时间:2015-04-27 05:31:20

标签: ios objective-c uiwebview nsuserdefaults user-agent

我有一个应用程序,其中我有不同的Web视图用于不同的流程(由不同的团队管理)。 我的问题是我想为不同的流设置不同的用户代理,即。 用户代理=“XYZ”用于某些流程,用户代理=“ABC”用于其他流程。

在我初始化包含UIWebView的控制器之前,我已经尝试使用以下代码,在读取了一些StackOverflow链接之后,但我在某处读到了我无法通过这种方式修改User-Agent。

- (void)setUserAgentForWebView
{
    UIWebView *dummyWebView = [[UIWebView alloc] initWithFrame:CGRectZero];
    NSString *secretAgent = [dummyWebView stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];
    NSString *newUserAgent = [NSString stringWithFormat:@"%@/IPHONE_V3",secretAgent];
    NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:newUserAgent, @"UserAgent", nil];
    [[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];
    [[NSUserDefaults standardUserDefaults] synchronize];
}

我根据需要使用此代码为不同的流设置不同的User-Agent。但似乎没有修改User-Agent,因为我无法得到理想的结果。

请指导我。

0 个答案:

没有答案