Programing
[iOS] WKWebview User Agent 설정
npre
2022. 2. 18. 14:03
반응형
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler
{
NSString* urlString = [URL_STRING];
NSString *escapedString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSMutableURLRequest *fixRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:escapedString]];
[fixRequest addValue:@"[CUSTOM_USER_AGENT]" forHTTPHeaderField:@"User-Agent"];
[webView evaluateJavaScript:@"navigator.userAgent" completionHandler:^(id userAgent, NSError * error) {
if (userAgent != NULL){
NSLog(@"default UserAgent = %@", userAgent);
webView.customUserAgent = [NSString stringWithFormat:@"%@/[CUSTOM_USER_AGENT]", userAgent];
[[NSUserDefaults standardUserDefaults] registerDefaults:@{@"UserAgent": [NSString stringWithFormat:@"%@[CUSTOM_USER_AGENT]]}];
}
}];
decisionHandler(WKNavigationActionPolicyCancel);
[self.webView loadRequest:fixRequest];
}