ios获取系统信息

本文详细介绍了如何在iOS平台上获取设备的系统信息,包括版本号、设备型号、电池状态等关键数据,帮助开发者更好地适配和调试应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ios获取系统信息

#ios

//获取系统信息
-(NSDictionary* )getSystemInfo{
    
    [NSBundle mainBundle];
    
    NSString *strName = [[UIDevice currentDevice] name]; //获取机器名称
    NSString *strOsver = [[UIDevice currentDevice] systemVersion];  //获取系统版本号
    NSString *strDeviceType = [self getDeviceType];  //获取设备的机型
    NSString *strIDFA = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]; //IDFA
    
    NSNumber *numberBootTime = [self bootTime];  //系统启动时间
    NSNumber *numberCurrenTime = [self getCurrentTimeMillis]; //系统当前时间
    NSNumber *numberScreen = [self getScreenBrightness];      //屏幕亮度
    NSNumber *numberBattery = [self getBatteryInfo];          //电池信息
    
    NSArray *languagesInfo = [self getLanguageInfo];          //系统语言
    
    //将收集到的信息放入 NSDictionary 字典
    NSDictionary *dicSystemInfo = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                          strOsver,@"osver",
                                          strName,@"name",
                                          strDeviceType,@"modelTypt",
                                          strIDFA,@"IDFA",
                                          numberBootTime,@"bootTime",
                                          numberCurrenTime,@"curTime",
                                          numberScreen,@"brightness",
                                          numberBattery,@"battery",
                                          languagesInfo,@"languages",
                                          nil];
    return  dicSystemInfo;
}

//获取设备的机型
- (NSString *)getDeviceType {
    
    struct utsname systemInfo;
    uname(&systemInfo);
    NSString *platform = [NSString stringWithCString:systemInfo.machine encoding:NSASCIIStringEncoding];
    
    //对机型进行格式化处理
    if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 2G";
    if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G";
    if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS";
    if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4";
    if ([platform isEqualToString:@"iPhone3,2"]) return @"iPhone 4";
    if ([platform isEqualToString:@"iPhone3,3"]) return @"iPhone 4";
    if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S";
    if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5";
    if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5";
    if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone 5c";
    if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c";
    if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s";
    if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s";
    if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus";
    if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6";
    if ([platform isEqualToString:@"iPhone8,1"]) return @"iPhone 6s";
    if ([platform isEqualToString:@"iPhone8,2"]) return @"iPhone 6s Plus";
    if ([platform isEqualToString:@"iPhone8,4"]) return @"iPhone SE";
    if ([platform isEqualToString:@"iPhone9,1"]) return @"iPhone 7";
    if ([platform isEqualToString:@"iPhone9,2"]) return @"iPhone 7 Plus";
    if ([platform isEqualToString:@"iPhone10,1"]) return @"iPhone 8";
    if ([platform isEqualToString:@"iPhone10,4"]) return @"iPhone 8";
    if ([platform isEqualToString:@"iPhone10,2"]) return @"iPhone 8 Plus";
    if ([platform isEqualToString:@"iPhone10,5"]) return @"iPhone 8 Plus";
    if ([platform isEqualToString:@"iPhone10,3"]) return @"iPhone X";
    if ([platform isEqualToString:@"iPhone10,6"]) return @"iPhone X";
    if ([platform isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G";
    if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G";
    if ([platform isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G";
    if ([platform isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G";
    if ([platform isEqualToString:@"iPod5,1"]) return @"iPod Touch 5G";
    if ([platform isEqualToString:@"iPad1,1"]) return @"iPad 1G";
    if ([platform isEqualToString:@"iPad2,1"]) return @"iPad 2";
    if ([platform isEqualToString:@"iPad2,2"]) return @"iPad 2";
    if ([platform isEqualToString:@"iPad2,3"]) return @"iPad 2";
    if ([platform isEqualToString:@"iPad2,4"]) return @"iPad 2";
    if ([platform isEqualToString:@"iPad2,5"]) return @"iPad Mini 1G";
    if ([platform isEqualToString:@"iPad2,6"]) return @"iPad Mini 1G";
    if ([platform isEqualToString:@"iPad2,7"]) return @"iPad Mini 1G";
    if ([platform isEqualToString:@"iPad3,1"]) return @"iPad 3";
    if ([platform isEqualToString:@"iPad3,2"])  return @"iPad 3";
    if ([platform isEqualToString:@"iPad3,3"])  return @"iPad 3";
    if ([platform isEqualToString:@"iPad3,4"])  return @"iPad 4";
    if ([platform isEqualToString:@"iPad3,5"])  return @"iPad 4";
    if ([platform isEqualToString:@"iPad3,6"])  return @"iPad 4";
    if ([platform isEqualToString:@"iPad4,1"])  return @"iPad Air";
    if ([platform isEqualToString:@"iPad4,2"])  return @"iPad Air";
    if ([platform isEqualToString:@"iPad4,3"]) return @"iPad Air";
    if ([platform isEqualToString:@"iPad4,4"]) return @"iPad Mini 2G";
    if ([platform isEqualToString:@"iPad4,5"]) return @"iPad Mini 2G";
    if ([platform isEqualToString:@"iPad4,6"]) return @"iPad Mini 2G";
    if ([platform isEqualToString:@"i386"]) return @"iPhone Simulator";
    if ([platform isEqualToString:@"x86_64"]) return @"iPhone Simulator";
    return platform;
}

//获取启动时间
-(NSNumber*)bootTime{
    
    NSProcessInfo *pi = [NSProcessInfo processInfo];
    unsigned long ul_time = pi.systemUptime;
    unsigned long ul_bootTime = [[self getCurrentTimeMillis] longValue] - ul_time;
    NSNumber *numberTime = [NSNumber numberWithLong:ul_bootTime];
    return numberTime;
}

//获取系统使用的语言
-(NSArray*)getLanguageInfo{
    
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    NSArray *languageInfo = [userDefaults objectForKey:@"AppleLanguages"];
    return languageInfo;
}

//获取当前时间
-(NSNumber*)getCurrentTimeMillis{
    
    NSDate *date = [NSDate date];
    NSTimeInterval time_interval = [date timeIntervalSince1970];
    NSNumber *numberTime = [NSNumber numberWithLong:time_interval];
    return numberTime;
}

//获取屏幕亮度
-(NSNumber*)getScreenBrightness{
    
    UIScreen *screen = [UIScreen mainScreen];
    CGFloat floatScreen = [screen brightness];
    NSNumber *numberScreen = [NSNumber numberWithDouble:floatScreen];
    return numberScreen;
}

//获取电池信息
-(NSNumber*)getBatteryInfo{
    
    UIDevice *device = [UIDevice currentDevice];
    [device setBatteryMonitoringEnabled:true];
    float floatBattery = [device batteryLevel];
    NSNumber *numberBattery = [NSNumber numberWithDouble:floatBattery];
    return numberBattery;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值