2011-09-01 62 views
1

我必须执行用户代理(UA)到iOS的相关UA的应用程序映射。大多数应用程序的用户代理的在他们的应用程序的名称,像Facebook的应用程序似乎是iOS中的哪些应用程序生成这些用户代理?

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

可以是activesync? –

回答

2

所有这些UA字符串和更多的都在那里,可以用来识别特定的配置/组合等(有时甚至是当前的载体!)...检查列表here

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例)。

相关问题