iOS9 UIWebView отказывается использовать настраиваемую строку User-Agent

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

Как правильно изменить строку пользовательского агента для UIWebView в iOS9?

 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];   
 userAgent = @"Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36";
    [defaults setValue:userAgent forKey:@"UserAgent"];
    [defaults setValue:userAgent forKey:@"User-Agent"];

Я также пробовал:

 NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:theURL];
    [request addValue:@"Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36" forHTTPHeaderField:@"User-Agent"];
//
    [self.webView loadRequest:request];

Во время выполнения

//Web view user-agent: Mozilla/5.0 (iPad; CPU OS 9_3_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13E238

person Alex Stone    schedule 11.04.2016    source источник
comment
И ваш вопрос дублирует заголовок stackoverflow.com/questions/26219997/   -  person xi.lin    schedule 11.04.2016


Ответы (1)


Вам нужно следующее:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *userAgent = @"Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36";
[defaults registerDefaults:@{ @"UserAgent" : userAgent }];

Ключевым моментом является то, что вы используете registerDefaults: вместо setValue:forKey:

person xi.lin    schedule 11.04.2016
comment
Установите это в appdelegate didFinishLaunchingWithOptions - person e7fendy; 25.04.2016