WebViewのユーザーエージェントをカスタマイズする (iOS)¶
NSUserDefaultsの UserAgent
キーを使ってユーザーエージェントをカスタマイズできます。なお、カスタマイズはアプリケーション起動中に一度だけ実行してください。また、UIWebViewおよびWKWebViewのインスタンスが生成される前に実行してください。
以下は、オリジナルのユーザーエージェントの先頭に MY_CUSTOM_USER_AGENT
という文字列を加えるサンプルです。
// get original UserAgent string by using temporal UIWebView
UIWebView *tmp = [[UIWebView alloc] init];
NSString *originalUA = [tmp stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];
// create custom UserAgent string
NSString *customUA = [NSString stringWithFormat:@"%@ %@", @"MY_CUSTOM_USER_AGENT", originalUA];
// set custom UserAgent as default
NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:customUA , @"UserAgent", nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];
// get original UserAgent string by using temporal UIWebView
let tmp = UIWebView()
let originalUA = tmp.stringByEvaluatingJavaScript(from: "navigator.userAgent")!
// create custom UserAgent string
let customUA = "MY_CUSTOM_USER_AGENT \(originalUA)"
// set custom UserAgent as default
UserDefaults.standard.register(defaults: ["UserAgent": customUA])