2011-07-26 7 views
3
良い

のために私は変更ユーザーエージェントは

- (BOOL)webView:(UIWebView *)webView2 shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { 

NSMutableURLRequest *req = (NSMutableURLRequest *)request; 
NSString *versionString = [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString*)kCFBundleVersionKey]; 

NSLog(@"user agent = %@", [req valueForHTTPHeaderField: @"User-Agent"]); 

if ([req valueForHTTPHeaderField:@"User-Agent"] != NULL) { 

    [req setValue:[NSString stringWithFormat:@"%@ %@", versionString, [req valueForHTTPHeaderField:@"User-Agent"]] forHTTPHeaderField:@"User-Agent"]; 
    NSLog(@"user agent = %@", [req valueForHTTPHeaderField: @"User-Agent"]); 

    return YES 
    } 
} 

を使用してユーザーエージェントを変更することができました。しかし、私は、デバイスhttp://whatsmyuseragent.com/にこのウェブサイトに行くと、私のユーザーエージェントは変更されていません。ユーザーエージェントを変更する方法はありますか?

答えて

0

Safariで表示されるユーザーエージェントは、自分のアプリケーションで使用されているものだけを変更することはできません。

+0

ありがとうduskwuff。私はまだ私のアプリで1つを変更するつもりですが、私はユーザーエージェントが今(null)です。なぜ私はこのことが分かりません。コードは同じです。これは、私がuser-agent(null)を作るために偶然に変更したことがあるものは何ですか? –

0

時々テストするとき、シミュレータがnilを報告することに気付きました。これが意図的なのか意図的なのかは分かりません。

0

「手動」NSURLRequestを実行しているときにユーザーエージェントの値を変更することはできますが、UIWebViewで変更することはできません。

上記のメソッドに渡される値は変更できません。変更することはできず、アプリケーションの残りの部分が変更を「取得」することを期待することはできません。正直なところ、NSURLRequestをその変種にキャストして変更しても、アプリがクラッシュすることはありませんでした。

1

本当に長い間遊んだ後、私はあなたがchange the User Agent without rootingできることを発見しました。アプリを構築している場合にこれが役立つかどうかは不明です。

関連する問題