装有 iOS 9.3.5 的 iPhone 6 在 UIWebview 的用户代理中发送错误的操作系统版本

iPhone 6 with iOS 9.3.5 sends wrong os version in the user agent from UIWebview

提问人:jailani 提问时间:1/11/2018 更新时间:1/11/2018 访问量:238

问:

我正在尝试在UIWebview中加载网页。URL 请求包含以下用户代理:

"User-Agent" = "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3 like Mac OS X) AppleWebKit/603.1.23 (KHTML, like Gecko) Version/10.0 Mobile/14E5239e Safari/602";

当我尝试使用Safari浏览器加载相同的内容时,用户代理是:

 "User-Agent" = "Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_5 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13G36 Safari/601.1";

操作系统版本是 10_3 而不是 9_3_5。

如何解决此问题。有什么建议吗?

iOS Objective-C iPhone UIWebView 用户代理

评论


答:

0赞 brototyp 1/11/2018 #1

您是否设置了自定义 UserAgent?如果是这样,请尝试像这样重置它:

NSMutableDictionary *mDict = [[NSUserDefaults standardUserDefaults] volatileDomainForName:NSRegistrationDomain].mutableCopy;
[mDict removeObjectForKey:@"UserAgent"];
[[NSUserDefaults standardUserDefaults] setVolatileDomain:mDict forName:NSRegistrationDomain];