我必须为一些iOS相关的UA执行用户代理(UA)到应用程序映射。大多数应用程序用户代理都有应用程序的名称,就像Facebook App似乎是
Facebook/3440 CFNetwork/485.13.9 Darwin/11.0.0
但我看到很多通用的UA。我找不到与这些相关的应用程序。有人能告诉我是什么产生这些。例如:
Apple-iPhone3C1/812.1
Apple-iPhone2C1/812.1
Apple-iPhone3C1/807.4
Apple-iPhone3C1/810.2 etc.
此外,是否有任何打开的应用或资源将UA映射到iOS应用程序?
答案 0 :(得分:3)
这些通用UA不属于某个应用。它是硬件和WebKit版本的ID。
这部分是硬件模型:
iPhone3C3 = 4 (Verizon)
iPhone3C1 = 4
iPhone2C1 = 3Gs
iPhone1C2 = 3G
iPad2C3 = iPad 2 (Verizon)
iPad2C2 = iPad 2 (AT&T)
iPad2C1 = iPad 2 (WiFi)
iPad1C1 = iPad
iPod2C1 = iPod Touch 2
iPod3C1 = iPod Touch 3
iPod4C1 = iPod Touch 4
此代码
UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectZero];
NSString *ua = [webView stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];
给你这个字符串:
Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_5 like Mac OS X; en-us)
AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/8L1
,其中包含WebKit版本(示例中为533.17.9)。
答案 1 :(得分:2)
所有这些UA字符串以及更多字符串都可用于识别特定配置/组合等(有时甚至是当前的运营商!)...查看列表here。