如何获取ios 设备名字 model

由于需要获取设备名字,在网上找了一些方法,发现能够解决问题,但是需要做一个匹配,然后设备年年都会出新款,而且设备的种类又很多,所以在获取设备信息后我又做了一个操作,---》我在google上找到了一个网站,发现这个网站有维护一些这种的设备信息,而且查询的条件就是我们从ios系统中获取的machine的值,然后做了个简单的字符串截取。~ 结果设备名字就获取到了。。。,(备注:这个自己要做一些由于网络问题没有拿到数据时的异常处理。。,还有这个请求要自己替换成异步的请求,请求完要做好缓存等。)  希望能一劳永逸吧。😄

 

#import "IOSModelGetter.h"

#import <sys/utsname.h>

@implementation IOSModelGetter

 

+ (void)getDeviceModel:(void(^)(NSString *))successBlock{

    

    struct utsname systemInfo;

    uname(&systemInfo);

    NSString *deviceModel = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];

    NSString *requestUrl = [NSString stringWithFormat:@"https://ipsw.me/iPhone3,1"];

    

    NSData *data = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:requestUrl]];

    NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

    NSRange range1 = [str rangeOfString:@"<title>"];

    NSRange range2 = [str rangeOfString:@"Information"];

    NSString *desc = [str substringWithRange:NSMakeRange(range1.location+range1.length, range2.location)];

    desc = [desc substringToIndex:[desc rangeOfString:@"Information"].location];

}

@end

 

posted on 2016-11-04 12:17  码农时刻  阅读(587)  评论(0编辑  收藏  举报