在调查为什么我没有从广告网络获得广告时,我偶然发现了一个奇怪的问题,WebView的用户代理:
User Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_10 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3
然而,由于我运行的是iOS8,它应该是:
User Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3
当然,到目前为止还没有运行10.10版本的iPhone,所以Xcode6正在以某种方式从Mac那里获取版本。对于iOS 7.1模拟器,它工作得很好。
发布于 2014-09-22 19:44:14
据我所知,这种情况一直存在。
当我使用以下代码来确定我在什么操作系统上运行以及在什么硬件上运行时,它总是返回OSX主机信息,而不是模拟的iOS信息:
NSString *systemVersion = [[UIDevice currentDevice] systemVersion];
...
sysctlbyname("kern.version", buffer, &len, NULL, 0);
...
sysctlbyname("hw.model", buffer, &len, NULL, 0);显然,WebKit在填写其客户端浏览器信息时也使用了类似的技术。然而,这应该不会造成问题。
https://stackoverflow.com/questions/25973253
复制相似问题