在调查我没有从广告网络获取广告的原因时,我偶然发现了一个奇怪的问题,即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
目前还没有iPhone运行版本10.10,所以Xcode6在某种程度上从Mac OS X中获取版本。对于iOS 7.1模拟器,它运行得很好。
答案 0 :(得分:0)
据我所知,情况一直如此。
当我使用以下代码确定我正在运行的操作系统以及硬件时,它总是返回OSX主机信息,而不是模拟的iOS信息:
NSString *systemVersion = [[UIDevice currentDevice] systemVersion];
...
sysctlbyname("kern.version", buffer, &len, NULL, 0);
...
sysctlbyname("hw.model", buffer, &len, NULL, 0);
WebKit显然在填写客户端浏览器信息时使用了类似的技术。但是,这不应该引起问题。