2012-02-07 5 views
1

저는 webview app 툴을 가지고 있습니다. webview app 툴은 기본적으로 webview와 툴바에있는 두 개의 버튼으로 구성되어 있습니다. 페이지 소스를 볼 수있는 버튼 하나와 현재 사용자 에이전트를보고/변경하는 버튼.iOS 4.x에서 사용자 에이전트를 가져 오거나 설정하는 방법은 무엇입니까?

iOS 5 (소스보기 및 사용자 에이전트 변경) 기능을 모두 가지고 있지만 iOS 4.x에서 사용자 에이전트를 가져 오는 것 같습니다.

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

이 iOS5를 작동하지만, 아이폰 OS 4.x의에서, 그것은 아무것도 반환 나던 :

나는 지금 다음 사용하고 있습니다. iOS 4.x에서 동일한 기능을 수행 할 수있는 방법이 있습니까?

감사합니다.

답변

3

사용자 에이전트를 얻으려면 응답의 NSURLRequest에서 HTTP 헤더를 확인하십시오. 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

당신을 감사합니다 AppDelegate.m이 시도! 그것은 매우 간단했습니다! 마찬가지로 애플 리케이션 대리인의 – kurisukun

0

+ (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]; 

} 
+0

, 현재 사용자 에이전트를 얻을 수 있습니까? – Satyam

관련 문제