我正在尝试获取设备的用户代理字符串 - 这里列出的字符串: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
我该怎么做?
答案 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属性可以给你这样的信息。