Какое приложение в iOS генерирует этих пользовательских агентов? - PullRequest
1 голос
/ 01 сентября 2011

Мне нужно выполнить сопоставление user-agent (UA) с приложением для нескольких связанных с iOS UA. У большинства пользовательских агентов приложения есть имя приложения, например, для приложения Facebook оно выглядит как

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?

Ответы [ 2 ]

3 голосов
/ 01 сентября 2011

Эти универсальные UA не принадлежат приложению. Это идентификатор оборудования и версии WebKit.

Эта часть является аппаратной моделью:

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).

2 голосов
/ 01 сентября 2011

Все эти строки UA и многие другие доступны и могут использоваться для определения конкретных конфигураций / комбинаций и т. Д. (Иногда даже текущего оператора связи!) ... проверьте список здесь .

...