我知道我可以得到iOS版本,也可以通过以下代码读取浏览器代理来知道用户使用的是iPod Touch,iPad还是iPhone:
$_SERVER['HTTP_USER_AGENT'];
但是,我可以检测到iOS设备的规格吗?就像用户使用的是iPhone一样,它是iPhone 4S,iPhone 4,iPhone 3GS还是iPhone 3G?
下面是 iOS 设备在 Safari 中发送的用户代理示例。
Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3
看起来包括操作系统版本(OS 5_1_1
)。但是没有关于iOS设备的型号/代的具体信息。您可以从版本中粗略地推断出这一点(例如,3G 无法运行 OS> 5)。但这充其量只是猜测。
我对Mobile/9B206
很好奇...这可能与 Safari 有关,而不是设备。
有点,请注意用户代理与使用 iOS 4 和 iOS 5 的 iPhone 的区别:
iPhone-- iOS 4: Mozilla/5.0 (iPhone;U;CPU iPhone OS 4_3_2 像 Mac OS X;en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) 版本/5.0.2 Mobile/8H7 Safari/6533.18.5
iPhone-- iOS 5: Mozilla/5.0 (iPhone;CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) 版本/5.1 Mobile/9A334 Safari/7534.48.3
然后你可以在该字符串中找到一个子字符串