最近做一个需求:后端需要统计使用我们APP产品的用户手机的各种信息,这些信息包括:设备品牌、设备型号、设备分辨率、操作系统、运营商、APP版本号、设备ID(UUID)、地址位置。这些信息其实获取也都不是很难,简单记录一下:
//首先获取当前设备对象
UIDevice *device = [UIDevice currentDevice];
/* 系统名 */
NSString *systemName = [device systemName];
/* 系统版本号 */
NSString *phoneVersion = [device systemVersion];
/* 设备品牌 */
NSString *brand = [device model];
/* 设备型号 */ iphoneType方法在后面实现
NSString *model = [self iphoneType];
/* 分辨率 */
CGRect rect = [UIScreen mainScreen].bounds;
CGSize size = rect.size;
CGFloat scale = [UIScreen mainScreen].scale;
CGFloat width = size.width*scale;
CGFloat height = size.height*scale;
/* 运营商 */
首先需要引入以下两个系统类:
#import <CoreTelephony/CTTelephonyNetworkInfo.h>
#import <CoreTelephony/CTCarrier.h>
CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [info subscriberCellularProvider];
//当前手机所属运营商名称
NSString *mobileCarrier;
//先判断有没有SIM卡,如果没有则不获取本机运营商
if (!carrier.isoCountryCode) {
mobileCarrier = @"无运营商";
}else{
mobileCarrier = [carrier carrierName];
}
/* app当前版本号 */