获取设备版本

1.引入头文件。

#include <sys/types.h>

#include <sys/sysctl.h>

2.获取型号

//手机型号。

size_t size;

sysctlbyname("hw.machine", NULL, &size, NULL, 0);

char *machine = (char*)malloc(size);

sysctlbyname("hw.machine", machine, &size, NULL, 0);

NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];

这里得到的platform是个设备型号。  比如iphone5,2.

所以如果想更完美点,可以自己根据字符串判断。

比如: if ([platform isEqualToString:@"iPhone3,1"])    return @"iPhone 4";

一。UIDevice

UIDevice提供了多种属性、类函数及状态通知,帮助我们全方位了解设备状况。从检测电池电量到定位设备与临近感应,UIDevice所做的工作就是为应用程序提供用户及设备的一些信息。UIDevice类还能够收集关于设备的各种具体细节,例如机型及iOS版本等。其中大部分属性都对开发工作具有积极的辅助作用。下面的代码简单的使用UIDevice获取手机属性。

//    [[UIDevice currentDevice] systemName]; // 系统名
//    [[UIDevice currentDevice] systemVersion]; //版本号
//    [[UIDevice currentDevice] model]; //类型,模拟器,真机
//    [[UIDevice currentDevice] uniqueIdentifier]; //唯一识别码
//    [[UIDevice currentDevice] name]; //设备名称
//    [[UIDevice currentDevice] localizedModel]; // 本地模式
    //设备相关信息的获取
    NSString *strName = [[UIDevice currentDevice] name];
    NSLog(@"设备名称:%@", strName);//e.g. "My iPhone"
   
    NSString *strId = [[UIDevice currentDevice] uniqueIdentifier];
    NSLog(@"设备唯一标识:%@", strId);//UUID,5.0后不可用
   
    NSString *strSysName = [[UIDevice currentDevice] systemName];
    NSLog(@"系统名称:%@", strSysName);// e.g. @"iOS"
   
    NSString *strSysVersion = [[UIDevice currentDevice] systemVersion];
    NSLog(@"系统版本号:%@", strSysVersion);// e.g. @"4.0"
   
    NSString *strModel = [[UIDevice currentDevice] model];
    NSLog(@"设备模式:%@", strModel);// e.g. @"iPhone", @"iPod touch"
   
    NSString *strLocModel = [[UIDevice currentDevice] localizedModel];
    NSLog(@"本地设备模式:%@", strLocModel);// localized version of model //地方型号  (国际化区域名称)
   
    NSString* phoneModel = [[UIDevice currentDevice] model];
    NSLog(@"手机型号: %@",phoneModel );   //手机型号

二。NSBundle

bundle是一个目录,其中包含了程序会使用到的资源. 这些资源包含了如图像,声音,编译好的代码,nib文件(用户也会把bundle称为plug-in). 对应bundle,cocoa提供了类NSBundle.一个应用程序看上去和其他文件没有什么区别. 但是实际上它是一个包含了nib文件,编译代码,以及其他资源的目录. 我们把这个目录叫做程序的main bundle。通过这个路径可以获取到应用的信息,例如应用名、版本号等。

    //app应用相关信息的获取
    NSDictionary *dicInfo = [[NSBundle mainBundle] infoDictionary];
    // CFShow(dicInfo);
   
    NSString *strAppName = [dicInfo objectForKey:@"CFBundleDisplayName"];
    NSLog(@"App应用名称:%@", strAppName);   // 当前应用名称
   
    NSString *strAppVersion = [dicInfo objectForKey:@"CFBundleShortVersionString"];
    NSLog(@"App应用版本:%@", strAppVersion);    // 当前应用软件版本  比如:1.0.1 
   
    NSString *strAppBuild = [dicInfo objectForKey:@"CFBundleVersion"];
    NSLog(@"App应用Build版本:%@", strAppBuild);      // 当前应用版本号码   int类型

三。NSLocale

NSLocale可以获取用户的本地化信息设置,例如货币类型,国家,语言,数字,日期格式的格式化,提供正确的地理位置显示等等。下面的代码获取机器当前语言和国家代码。

    //Getting the User’s Language
    NSArray *languageArray = [NSLocale preferredLanguages];
    NSString *language = [languageArray objectAtIndex:0];
    NSLog(@"语言:%@", language);//en
   
    NSLocale *locale = [NSLocale currentLocale];
    NSString *country = [locale localeIdentifier];
    NSLog(@"国家:%@", country); //en_US
时间: 2024-12-15 06:57:59

获取设备版本的相关文章

iOS 获取设备版本型号

#import "sys/utsname.h" /** *  设备版本 * *  @return e.g. iPhone 5S */+ (NSString*)deviceVersion {    // 需要#import "sys/utsname.h"    struct utsname systemInfo;    uname(&systemInfo);    NSString *deviceString = [NSString stringWithCSt

iOS获取设备版本信息

系统提供的接口[[UIDevice currentDevice] model]只能获取iphone,ipad无法具体到iphone6等, 下面这个接口可以获取到具体的,后续有新的系统在增加 + (NSString*)deviceVersion { // 需要加入#import "sys/utsname.h" struct utsname systemInfo; uname(&systemInfo); NSString *deviceString = [NSString stri

获取设备基本信息

获取设备版本 1.引入头文件. #include <sys/types.h> #include <sys/sysctl.h> 2.获取型号 //手机型号. size_t size; sysctlbyname("hw.machine", NULL, &size, NULL, 0); char *machine = (char*)malloc(size); sysctlbyname("hw.machine", machine, &

获取设备信息

mark下如何获取设备相关的信息 NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; // app名称 NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"]; // app版本 NSString *app_Version = [infoDictionary objectForKey:@"CFBu

iOS开发-获取设备型号信息

开发中有的时候查看设计统计数据,或者通过日志查看错误信息,这个时候我们就需要获取获取设备信息,看下关于设备有几种方法: NSLog(@"%@",[[UIDevice currentDevice] name]);//设备名称 NSLog(@"%@",[[UIDevice currentDevice] model]);//设备类型 NSLog(@"%@",[[UIDevice currentDevice] localizedModel]); NSLo

iOS获取设备型号、设备类型等信息

设备标识 关于设备标识,历史上盛行过很多英雄,比如UDID.Mac地址.OpenUDID等,然而他们都陆陆续续倒在了苹果的门下.苹果目前提供了2个方法供App获取设备标识:idfa和idfv idfa:全称advertisingIdentifier,官方解释是广告标识,适用于广告推广,这个建议不要轻易使用,如果用了,则App里必须提供广告功能,否则很有可能会在AppStore审核时被拒.而且idfa是可以被用户关闭的(设置->隐私),一旦被关闭,就获取不到了. idfv:全称identifier

iOS获取设备型号、装置类型等信息

iOS获取设备型号.设备类型等信息 设备标识 关于设备标识,历史上盛行过很多英雄,比如UDID.Mac地址.OpenUDID等,然而他们都陆陆续续倒在了苹果的门下.苹果目前提供了2个方法供App获取设备标识:idfa和idfv idfa:全称advertisingIdentifier,官方解释是广告标识,适用于广告推广,这个建议不要轻易使用,如果用了,则App里必须提供广告功能,否则很有可能会在AppStore审核时被拒.而且idfa是可以被用户关闭的(设置->隐私),一旦被关闭,就获取不到了.

PhoneGap获取设备信息

一. 获取设备信息的方法列表(如果没有或者检测不出来就显示undefined) 1.device.name              设备名称(一些国产机检测不出来) 2.device.model     :返回设备的模型或产品的名称 3.device.cordova           PhoneGap 版本 4.device.platform         设备平台 5.device.uuid               uuid 编码(这个编码是设备的唯一编码相当于每部手机的身份证,比较

UIDevice之获取设备信息

UIDevice这个类提供了一个代表当前设备的一个实例.从这个实例中可以获得有关设备如指定名称,信息设备模型,和操作系统名称和版本.UIDevice直接继承自NSObject. UIDevice类可以提供了多种属性.类函数及状态通知,帮助我们全方位了解设备状况.从检测电池电量到定位设备与临近感应,UIDevice所做的工作就是为应用程序提供用户及设备的一些信息. UIDevice类还能够收集关于设备的各种具体细节,例如机型及iOS版本等.其中大部分属性都对开发工作具有积极的辅助作用. 我们可以获