iOS 设备信息获取

参考:http://blog.csdn.net/decajes/article/details/41807977参考:http://zengrong.net/post/2152.htm1. 获取设备的信息

UIDevice *device = [[UIDevice alloc] init];

NSString *name = device.name;

NSString *model = device.model; // 设备类型,比如是苹果还是itouch

NSString *type = device.localizedModel; // 获取本地化版本

NSString *systemName = device.systemName; // 当前运行系统的名称

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

NSLog(@"%@-%@-%@-%@-%@",name,model,type,systemName,systemVersion);

//iPhone Simulator-iPhone Simulator-iPhone Simulator-iPhone OS-8.1

2. 获取设备的唯一标识符(UDID)

NSString *identifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];

3.获取当前屏幕分辨率的信息

CGRect rect = [UIScreen mainScreen].bounds;

CGFloat scale = [UIScreen mainScreen].scale;

CGFloat width = rect.size.width * scale;

CGFloat height = rect.size.height * scale;

4. 获取运营商的信息

#import <CoreTelephony/CTCarrier.h>

#import <CoreTelephony/CTTelephonyNetworkInfo.h>

CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init];

CTCarrier *carrier = [info subscriberCellularProvider];

NSString *mCarrier = [NSString stringWithFormat:@"%@",[carrier carrierName]]; // 获取运营商的名称

NSString *mConnectType = [NSString stringWithFormat:@"%@",info.currentRadioAccessTechnology]; // 获取当前网络类型

5. 添加震动

#import <AudioToolbox/AudioToolbox.h>

AudioServicesPlayAlertSound(kSystemSoundID_Vibrate); // 添加震动

但是貌似这个不支持传入震动时间和模式。

6. 获取电池的相关信息

@implementation BatterMonitor

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

-(NSString*) getBatteryState {

UIDevice *device = [UIDevice currentDevice];

if (device.batteryState == UIDeviceBatteryStateUnknown) {

return @"UnKnow";

}else if (device.batteryState == UIDeviceBatteryStateUnplugged){

return @"Unplugged";

}else if (device.batteryState == UIDeviceBatteryStateCharging){

return @"Charging";

}else if (device.batteryState == UIDeviceBatteryStateFull){

return @"Full";

}

return nil;

}

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

-(float) getBatteryLevel {

return [UIDevice currentDevice].batteryLevel;

}

-(void) getBatteryInfo

{

NSString *state = getBatteryState();

float level = getBatteryLevel()*100.0;

//yourControlFunc(state, level);  //写自己要实现的获取电量信息后怎么处理

}

//打开对电量和电池状态的监控,类似定时器的功能

-(void) didLoad

{

[[UIDevice currentDevice] setBatteryMonitoringEnable:YES];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getBatteryInfo:) name:UIDeviceBatteryStateDidChangeNotification object:nil];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getBatteryInfo:) name:UIDeviceBatteryLevelDidChangeNotification object:nil];

[NSTimer scheduledTimerWithTimeInterval:0.5f target:self selector:@selector(getBatteryInfo:) userInfo:nil repeats:YES];

}

@end

7. app中打开一个网页

NSString *url = @"www.apple.com"

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];

8. app中打开另一个app

打开另一个app还是可以通过openURL来实现。但是要分两种情况。

第一种是启动内置的应用,一般的电话,浏览器,短信和邮件可以直接调用并添加参数,譬如:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10086"]];

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://[email protected]"]];

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://10086"]];

第二种情况是要打开自己开发的app,这种情况则要为将要打开的app注册一个URL协议。这个可以在项目的文件info.plist中注册。主要操作为:

Step1. 右键,选择“Add Row”

Step2. Key值选择“URL types”

Step3. 打开“Item 0″,然后为该key增加一个URL identifier。可以是任何值,但建议用“反域名”(例如 “com.fcplayer.testHello”)。

Step4. 在“Item 0”下再加一行。

Step5. 选择“URL Schemes” 作为Key。

Step6. 输入你的URL协议名 (例如“testHello://” 应写做“testHello”)。如果有必要,你可以在这里加入多个协议。

其实在打开的时候只需要URL Schemes即可,URL identifier是可选项。如果需要传送参数,可以在URL Schemes://添加你的参数,格式和网页开发的传递参数差不多。(又或者URL Schemes://URL [email protected]添加的参数)关键是要和接收参数方定义好处理的方式。然后在需要打开的地方添加代码:

NSString *url = @"URL Schemes的路径"

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 00:25:11

iOS 设备信息获取的相关文章

获取iOS设备信息

有时候做项目是需要获取手机的相关信息,好让用户知道自己的使用情况: 镔哥就直接写代码了 /* 获取手机信息 应用程序的名称和版本号等信息都保存在mainBundle的一个字典中,用下面代码可以取出来 */ NSDictionary* infoDict =[[NSBundle mainBundle] infoDictionary]; NSString* versionNum =[infoDict objectForKey:@"CFBundleVersion"]; NSString*app

iOS 设备信息

在iOS开发中,有时候我们需要使用跟设备相关的一些信息,下面就详细介绍一下设备相关信息: 1.获取当前设备所有者名称: 2.获取设备的类别,是iPhone,iPod,还是iPad 这里要获取iPhone的具体类型,要有如下代码: - (NSString *)deviceString { // 需要#import "sys/utsname.h" struct utsname systeminfo; uname(&systeminfo); NSString *deviceStrin

android设备信息获取

权限:<uses-permission android:name="android.permission.READ_PHONE_STATE" /> import android.app.Activity; import android.app.AlertDialog; import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogI

获取设备信息——获取客户端ip地址和mac地址

1.获取本地IP(有可能是 内网IP,192.168.xxx.xxx) /** * 获取本地IP * * @return */ public static String getLocalIpAddress() { try { Enumeration<networkinterface> en = NetworkInterface .getNetworkInterfaces(); while (en.hasMoreElements()) { NetworkInterface ni = en.nex

显示ios设备信息的程序

以下是运行在本人iphone4上的截图,支持中文简体,中文繁体,英文,支持iphone和ipad,当然由于没有ipad,ipad的测试用的模拟器.支持iphone4的Retina屏幕.本来有6个标签,但是iphone的很多信息实在得不到,现在只剩下了4个标签. 这里面的电量精确到0.01,用的undocument api,但是个人感觉总是比右上角系统自己显示的偏低3%以内. 显示当前运行的进程,但是不知道如何得到进程的图标,因此统一用的图标. 一些硬件信息,iphone4的A4 cpu频率实际上

识别 判断 iOS设备 信息

EITHER try this library: http://github.com/erica/uidevice-extension/ (by Erica Sadun). (Sample Code): [[UIDevice currentDevice] platformType] // ex: UIDevice4GiPhone [[UIDevice currentDevice] platformString] // ex: @"iPhone 4G" OR You can use th

IOS开发-Swift获取手机设备信息(UIDevice)

使用UiDevice获取设备信息 获取设备名称 let name = UIDevice.currentDevice().name 获取设备系统名称 let systemName = UIDevice.currentDevice().systemName 获取系统版本 let systemVersion = UIDevice.currentDevice().systemVersion 获取设备模型 let model = UIDevice.currentDevice().model 获取设备本地模

IOS开发-Object-C获取手机设备信息(UIDevice)

获取UiDevice设备信息 // 获取设备名称 NSString *name = [[UIDevice currentDevice] name]; // 获取设备系统名称 NSString *systemName = [[UIDevice currentDevice] systemName]; // 获取系统版本 NSString *systemVersion = [[UIDevice currentDevice] systemVersion]; // 获取设备模型 NSString *mod

ios设备唯一标识获取策略

英文原文:In iOS 7 and later, if you ask for the MAC address of an iOS device, the system returns the value 02:00:00:00:00:00. If you need to identify the device, use the identifierForVendor property of UIDevice instead. (Apps that need an identifier for