Xcode6中的iPhone模拟器发送我的Mac操作系统版本

时间:2014-09-22 11:39:55

标签: ios ios8 xcode6 simulator

在调查我没有从广告网络获取广告的原因时,我偶然发现了一个奇怪的问题,即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模拟器,它运行得很好。

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显然在填写客户端浏览器信息时使用了类似的技术。但是,这不应该引起问题。