如何获得iOS用户代理字符串

时间:2014-05-28 07:24:57

标签: ios iphone user-agent

我正在尝试获取设备的用户代理字符串 - 这里列出的字符串:http://www.enterpriseios.com/wiki/Complete_List_of_iOS_User_Agent_Strings

这是我正在使用的代码:

UIWebView *webView = [[UIWebView alloc]initWithFrame:CGRectZero];
    NSString *uaString = [webView stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];

我得到的结果是:

  

Mozilla / 5.0(iPhone; CPU iPhone OS 7_1_1,如Mac OS X)   AppleWebKit / 537.51.2(KHTML,像Gecko)Mobile / 11D201

我想要的是:

  

苹果iPhone4C1

我该怎么做?

2 个答案:

答案 0 :(得分:2)

您需要编写一个可以生成此字符串的函数,如下所示:

#include sys/sysctl.h
#include sys/utsname.h

size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *model =  (char*) malloc(sizeof(size_t));
sysctlbyname("hw.machine", model, &size, NULL, 0);
NSString *deviceModel = [NSString stringWithCString:model encoding:NSUTF8StringEncoding];
NSLog(@"%@", deviceModel);

// or

struct utsname systemInfo;
uname(&systemInfo);
NSLog(@"%@", [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]);

答案 1 :(得分:0)

为此,您需要访问UIDevice类的方法。 UIDevice类的model属性可以给你这样的信息。