iOS-获取当前设备的信息

1.获取设备信息

UIDevice*device = [[UIDevicealloc]init];

NSString*name = device.name;//获取设备用户的名称

NSString*model = device.model;//获取设备的类别

NSString*localizedModel = device.localizedModel;//地方型号 (国际化区域名称)

NSString*systemName = device.systemName;//获取当前运行的系统

NSString*systemVersion = device.systemVersion;//获取当前系统的版本

NSString*UUID = device.identifierForVendor.UUIDString;//获取设备的UUID唯一标示符

NSLog(@"\n name:%@\n model:%@\n localizedModel:%@\n systemName:%@\n systemVersion:%@\n",name,model,localizedModel,systemName,systemVersion);

NSLog(@"\n UUID:%@",UUID);

//设备朝向

NSLog(@"设备朝向 - %ld", (long)device.orientation);

// 当前设备是否有转向通知

NSLog(@"设备转向通知 BOOL- %d", device.generatesDeviceOrientationNotifications);

// 是否启动电池监控,默认为NO

NSLog(@"电池监控启用状态 BOOL- %d", device.batteryMonitoringEnabled);

//用户界面模式

NSLog(@"用户界面模式 - %ld", (long)device.userInterfaceIdiom);

NSDictionary*infoDict =[[NSBundlemainBundle]infoDictionary];

NSString*versionNum =[infoDictobjectForKey:@"CFBundleVersion"];//当前应用版本号码

NSString*appName =[infoDictobjectForKey:@"CFBundleDisplayName"];//当前应用名称

NSString*appCurVersion = [infoDictobjectForKey:@"CFBundleShortVersionString"];//当前应用软件版本


2.获取当前屏幕分辨率的信息 屏幕长宽

CGRect rect = [[UIScreenmainScreen]bounds];

CGFloat scale = [[UIScreenmainScreen]scale];

CGFloat width = rect.size.width* scale;

CGFloat height = rect.size.height* scale;

NSLog(@"分辨率\n width:%f\n height:%f",width,height);

floatscreenHeight = [UIScreenmainScreen].bounds.size.height;

floatscreenWidth = [UIScreenmainScreen].bounds.size.width;

NSLog(@"屏幕\n width:%f\n height:%f",screenWidth,screenHeight);


3.设备震动

/*

需要加入AudioToolbox framework,

导入头文件 #import 

在需要震动的地方写下面的代码即可

*/

AudioServicesPlaySystemSound (kSystemSoundID_Vibrate);


4.获取电池的相关信息

//获取电池当前的状态

NSLog(@"电池当前状态:%@",[selfgetBatteryState]);

//获取电量的等级,0.00~1.00

NSLog(@"获取电量等级:%f",[selfgetBatteryLevel]);

//方法

//获取电池当前的状态,共有4种状态

-(NSString*) getBatteryState {

UIDevice*device = [UIDevicecurrentDevice];

if(device.batteryState== UIDeviceBatteryStateUnknown) {

return@"UnKnow未知";

}elseif(device.batteryState== UIDeviceBatteryStateUnplugged){

return@"Unplugged电源已拔开";

}elseif(device.batteryState== UIDeviceBatteryStateCharging){

return@"Charging充电";

}elseif(device.batteryState== UIDeviceBatteryStateFull){

return@"Full充满";

}

returnnil;

}

//获取电量的等级,0.00~1.00

-(float) getBatteryLevel {

return[UIDevicecurrentDevice].batteryLevel;

}


5.获取运营商的信息

/*需导入

#import 

#import 

*/

CTTelephonyNetworkInfo*info = [[CTTelephonyNetworkInfoalloc]init];

//获取运行商名称

CTCarrier*carrier = [infosubscriberCellularProvider];

NSString*mCarrier = [NSStringstringWithFormat:@"%@",[carriercarrierName]];

//获取网络类型

NSString*mConnectType = [[NSStringalloc]initWithFormat:@"%@",info.currentRadioAccessTechnology];

NSLog(@"运行商:%@",mCarrier);

NSLog(@"网络类型:%@",mConnectType);

/*网络类型

CTRadioAccessTechnologyGPRS         //介于2G和3G之间,也叫2.5G ,过度技术

CTRadioAccessTechnologyEdge         //EDGE为GPRS到第三代移动通信的过渡,EDGE俗称2.75G

CTRadioAccessTechnologyWCDMA

CTRadioAccessTechnologyHSDPA            //亦称为3.5G(3?G)

CTRadioAccessTechnologyHSUPA            //3G到4G的过度技术

CTRadioAccessTechnologyCDMA1x       //3G

CTRadioAccessTechnologyCDMAEVDORev0    //3G标准

CTRadioAccessTechnologyCDMAEVDORevA

CTRadioAccessTechnologyCDMAEVDORevB

CTRadioAccessTechnologyeHRPD        //电信使用的一种3G到4G的演进技术, 3.75G

CTRadioAccessTechnologyLTE          //接近4G

*/


6.网络状态监听

/*导入

系统库SystemConfiguration.framework

第三方Reachability.h

*/

Reachability*reach = [ReachabilityreachabilityWithHostName:@"www.baidu.com"];

switch([reachcurrentReachabilityStatus])

{

caseNotReachable://未连接

NSLog(@"网络未连接");

break;

caseReachableViaWiFi://通过wifi连接

NSLog(@"wifi");

break;

caseReachableViaWWAN://通过GPRS连接

NSLog(@"CPRS");

break;

default://未知情况

break;

}


本文Demo:http://download.csdn.net/detail/jackjia2015/9435384


转载自:http://blog.csdn.net/jackjia2015/article/details/50685536

你可能感兴趣的:(iOS-获取当前设备的信息)