Как получить / установить пользовательский агент на iOS 4.x? - PullRequest
1 голос
/ 07 февраля 2012

У меня есть инструмент приложения для веб-просмотра, который по сути состоит из веб-просмотра и двух кнопок на панели инструментов.Одна кнопка для просмотра источника страницы, а другая кнопка для просмотра / изменения текущего агента пользователя.

У меня есть обе функции, работающие на iOS 5 (просмотр источника и изменение агента пользователя), но я не могу показатьсязахватить пользовательский агент в iOS 4.x.

Сейчас я использую следующее:

userAgentViewController.UAText = [self.webView stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];

Это работает в iOS5, но в iOS 4.x ничего не возвращает.Есть ли способ добиться такой же функциональности в iOS 4.x?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 07 февраля 2012

чтобы получить идентификатор пользователя, проверьте заголовок HTTP в NSURLRequest вашего ответа.Вы можете получить его в методе делегата webViewDidFinishLoad .

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    NSLog(@"%@", [[webView request] valueForHTTPHeaderField: @"User-Agent"]);
}

, чтобы установить его, вы должны настроить NSMutableURLRequest и передать его в свой веб-просмотр

NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:[NSURL URLWithString:@"yourwebsite.com"]];
[request setHTTPMethod:@"POST"];
[request setValue:USERAGENT_STRING forHTTPHeaderField: @"User-Agent"];
[webView loadRequest:request];
[request release];

и все тут!

0 голосов
/ 17 января 2013

Попробуйте это в AppDelegate.m

+ (void)initialize 

{

    // Set user agent (the only problem is that we can’t modify the User-Agent later in the program)

    // iOS 5.1

    NSDictionary *dictionnary = [[NSDictionary alloc] initWithObjectsAndKeys:@”Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B176 Safari/7534.48.3”, @”UserAgent”, nil];


    [[NSUserDefaults standardUserDefaults] registerDefaults:dictionnary];

}
...