Изменение User Agent в UIWebView (iOS 5, Xcode 4.2)

Уроки по созданию приложений для iOS (iPhone, iPad, iPod Touch) в Xcode (Objective-C)
Ответить
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Изменение User Agent в UIWebView (iOS 5, Xcode 4.2)

Сообщение Александр »

Изменение User Agent в UIWebView (iOS 5, Xcode 4.2)
Objective-C 2.0, iPhone, iPod, iPad, iOS

Для того чтобы понять что описывается в этой статье, вам нужно иметь представление о том как создаются приложения для iOS. Если вы еще не понимаете основ Objective-C, то сначала посмотрите тему Разработка приложений для iOS. С чего начать (Xcode 4.2).

В этой статье опишу способ изменения User Agent у UIWebView в iOS 5. Этот способ работает и для iOS 4.2.1. Способ, который использовали в версиях iOS до 4.2.1 перестал работать.

Не работает в iOS 4.2.1 и выше

Код: Выделить всё

NSURL *url = [NSURL URLWithString:@"http://flapps.ru/example/user-info.php"];NSMutableURLRequest *requestObj = [NSMutableURLRequest requestWithURL:url];[requestObj setValue:@"Crome 16" forHTTPHeaderField:@"User-Agent"];[webPage loadRequest:requestObj];

Рабочий вариант

1. Создаем новый проект в Xcode.

Добавляем UIWebView.

Код: Выделить всё

@property (retain, nonatomic) IBOutlet UIWebView *webView;
2. Пишем код

Код: Выделить всё

- (void)viewDidLoad{    [super viewDidLoad];        // задаем новый User Agent    NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"Chrome 16", @"UserAgent", nil];    [[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];        // открываем страницу    NSURL *url = [NSURL URLWithString:@"http://flapps.ru/example/user-info.php"];    [webView loadRequest:[NSURLRequest requestWithURL:url]];}
Скрипт http://flapps.ru/example/user-info.php позволяет увидеть свой User Agent.

Код user-info.php

Код: Выделить всё

<?echo 'HTTP_USER_AGENT: '.$_SERVER[HTTP_USER_AGENT];?>
Ответить