#iphone #ios #facebook #ipad
#iPhone #iOS #Facebook #iPad
Вопрос:
Я погружаюсь в разработку iOS, и когда я пытаюсь загрузить определенную Facebook Fan Page в UIWebView, загружается мобильная версия сайта, которая загружает только стену страницы вентилятора вместо конкретной вкладки, которую мне нужно загрузить. В версии моего приложения для iPad UIWebView загружает обычную, немобильную версию Facebook и отлично загружает вкладку. Как я могу заставить UIWebView на iPhone загрузить обычную версию Facebook?
Ответ №1:
Facebook, скорее всего, анализирует пользовательский агент, чтобы определить, какую версию обслуживать. Если это так, то изменение пользовательского агента на пользовательский агент браузера для настольных компьютеров приведет facebook к изменению того, какая версия страницы обслуживается. Вы можете изменить пользовательский агент в NSMutableURLRequest следующим образом:
[request setValue:@"some-user-agent" forHTTPHeaderField:@"User_Agent"];
Комментарии:
1. Спасибо, jaminguy, это сработало! Кстати, при настройке поля user agent вы должны использовать «User_Agent». При чтении поля user agent используется «User-Agent» (обратите внимание на подчеркивание в первом).
2. Кроме того, для тех, кто пытается выяснить, какое значение установить, вот код, который я использовал… [запросить setValue: [NSString stringWithFormat:@»%@ Safari /528.16″, [запросить valueForHTTPHeaderField:@»User-Agent»]] для httpheaderfield:@»User_Agent»];
Ответ №2:
Сделайте это в viewDidLoad (или где-нибудь еще перед загрузкой UIWebView):
NSDictionary *userAgent = @{ @"UserAgent" : @"Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0" };
[[NSUserDefaults standardUserDefaults] registerDefaults:userAgent];