Эмулируйте мобильное Safari в приложении OS X WebView - PullRequest
2 голосов
/ 30 сентября 2011

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

 WebFrame *mainFrame = [web1 mainFrame];
NSURL *url = [NSURL URLWithString:@"http://www.website.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[mainFrame loadRequest:request]; 

Итак, мой вопрос: могу ли я что-нибудь добавить к приведенному выше коду, чтобы это веб-представление идентифицировало себя на сервере любого веб-сайта, на котором он работает, в качестве мобильного браузера, таким образом, автоматически загружая мобильную версию любого веб-сайта? это находится на? Я уже пытался найти ответ на этот вопрос для себя в Интернете, и мне не повезло найти ответ.

Заранее спасибо за любую помощь!

Ответы [ 2 ]

3 голосов
/ 30 сентября 2011

Более простым способом было бы просто установить это в WebView .

3 голосов
/ 30 сентября 2011

Да

Используйте NSMutableURLRequest вместо простого NSURLRequest, чтобы вы могли изменить его и использовать его метод setValue:forHTTPHeaderField: для установки поля заголовка HTML «Пользователь-агент» в User-Agent MobileSafari.

// You may adapt the UserAgent string depending on what device and Safari version you want to represent
static NSString* const kMobileSafariUserAgent = @"Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7";
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setValue:kMobileSafariUserAgent forHTTPHeaderField:@"User-Agent"];
[mainFrame loadRequest:request]; 

Использование строки User-Agent зависит от версии MobileSafari, которую вы хотите «эмулировать» (какой версией / устройством вы хотите, чтобы сервер считал вас верным).

См. Здесь для некоторых возможных строк UA

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...