2015-06-30 2 views
-1

с использованием платформы IBM MobileFirst 7.0 Я не могу изменить пользовательский агент UIWebView. У меня есть гибридное приложение (HTML/CSS, JS, Objective-C) и попытался UIWebView iOS5 changing user-agent (как вопрос и ответ версии):Как изменить User-Agent для UIWebView (iOS) гибридного приложения

@implementation MyAppDelegate 

+ (void)initialize 
{ 
    NSString* useragent = @"Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0"; 
    NSLog(@"Setting User-Agent to: %@", useragent); 
    NSDictionary* dictionary = [NSDictionary dictionaryWithObjectsAndKeys:useragent, @"UserAgent", nil]; 
    [[NSUserDefaults standardUserDefaults] registerDefaults:dictionary]; 

} 
(...) 

и/или

(...) 
[request setValue:@"Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0" forHTTPHeaderField:@"User-Agent"];     
[webView loadRequest: request]; 
NSLog(@"Getting UA: %@", [webView stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"]); 
(...) 

, но мой вывод:

Getting UA: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20130401 Firefox/31.0/Worklight/7.0.0.0 

Я пытался найти этот знак где-то в конфигурации, но безуспешно ...

Я смог воспроизвести это, добавив приведенный выше код к IBM Example, project "IncludeExternalPages". Я буду рад предоставить код, если это поможет.

ответ

0

Ok, единственное, что работал для меня было использовать:

я)

NSString* useragent = @"Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0"; 
NSLog(@"Setting User-Agent to: %@", useragent); 
NSDictionary* dictionary = [NSDictionary dictionaryWithObjectsAndKeys:useragent, @"UserAgent", nil]; 
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionary]; 

II) в начале wlInitDidCompleteSuccessfully в AppDelegate

III) после удаления и переустановки приложения

+0

Как предложено по электронной почте. ;) –

+0

Да Идан, спасибо. Ваш комментарий подтолкнул меня в правильном направлении. – Qais

0

Возможно, это технически возможно, но обратите внимание, что платформа MobileFirst Platform основана на пользовательском агенте по умолчанию, предоставляемом им, и поэтому вам не рекомендуется изменять его.

Вы должны спросить себя:

  • Почему мне нужно изменить его
  • Могу ли я справиться с этим по-разному (заголовки по коду?)
+0

HI Идан, спасибо за быстрый ответ. Основная проблема заключается в том, что мне нужно получить доступ к интегрированному веб-интерфейсу, который не обеспечивает встроенную поддержку MacOS/iOS и т. Д. Мы начали исследовать это дальше со стороны поставщика, но это, очевидно, более длительный процесс, чем проверяя, просто ли сменяет UA, просто избегайте этих проблем (Google Chrome для iOS отлично работает, а Safari - нет). tl; dr: Мне нужно это для тестирования в нашем развитии. Несмотря на это, неспособность установить UA кажется странным для меня. Спасибо. – Qais

Смежные вопросы