參考: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://devprograms@apple.com"]];

[[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 identifier@加入的參数)关键是要和接收參数方定义优点理的方式。

然后在须要打开的地方加入代码:





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

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

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

  1. iOS开发的另类神器:libimobiledevice开源包【类似android adb 方便获取iOS设备信息】

    简介 libimobiledevice又称libiphone,是一个开源包,可以让Linux支持连接iPhone/iPod Touch等iOS设备.由于苹果官方并不支持Linux系统,但是Linux上 ...

  2. 史上最全的iOS各种设备信息获取总结

    来源:si1ence 链接:http://www.jianshu.com/p/b23016bb97af 为了统计用户信息.下发广告,服务器端往往需要手机用户设备及app的各种信息,下面讲述一下各种信息 ...

  3. iOS: iOS各种设备信息获取

    Author:si1ence Link:http://www.jianshu.com/p/b23016bb97af 为了统计用户信息.下发广告,服务器端往往需要手机用户设备及app的各种信息,下面讲述 ...

  4. 整理UWP中网络和设备信息获取的帮助类,需要的拿走。

    网络(运营商信息,网络类型) public static class NetworkInfo { /// <summary> /// 网络是否可用 /// </summary> ...

  5. IOS设备 UIDevice 获取操作系统 版本 电量 临近手机触发消息检测 (真机亲测可用)

    - (void)viewDidLoad { [super viewDidLoad]; // 操作系统 NSString * osName =[[UIDevice currentDevice]syste ...

  6. 获取iOS设备信息的编程接口

    参考资料: [1] 博客园,iOS屏幕尺寸和分辨率了解 [2] 张兴业,获取手机信息(UIDevice.NSBundle.NSLocale), CSDN

  7. 获取iOS设备信息(内存/电量/容量/型号/IP地址/当前WIFI名称)

    1.获取电池电量(一般用百分数表示,大家自行处理就好) 1 2 3 4 -(CGFloat)getBatteryQuantity {         return [[UIDevice current ...

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

    1.获取本地IP(有可能是 内网IP,192.168.xxx.xxx) /** * 获取本地IP * * @return */ public static String getLocalIpAddre ...

  9. IOS 设备信息读取

    let infoDictionary = NSBundle.mainBundle().infoDictionary let appDisplayName: AnyObject? = infoDicti ...

随机推荐

  1. 【转】VueJS中学习使用Vuex详解

    转自:https://segmentfault.com/a/1190000015782272   在SPA单页面组件的开发中 Vue的vuex和React的Redux 都统称为同一状态管理,个人的理解 ...

  2. 洛谷P2047 [NOI2007]社交网络 [图论,最短路计数]

    题目传送门 社交网络 题目描述 在社交网络(social network)的研究中,我们常常使用图论概念去解释一些社会现象.不妨看这样的一个问题.在一个社交圈子里有n个人,人与人之间有不同程度的关系. ...

  3. Python并发编-用Event,线程检测数据库连接的例子

    尝试3次连接数据库 import time import random from threading import Thread,Event def connect_db(e): count = 0 ...

  4. 【C++初级】static用法总结、问题探讨及常见错误排查

    static的基本用法: static的作用主要有两种第一个作用是限定作用域:第二个作用是保持变量内容持久化: 一.c语言中static的用法: 1.全局静态变量: 用法:在全局变量前加上关键字sta ...

  5. Scrapy实战篇(六)之Scrapy配合Selenium爬取京东信息(上)

    在之前的一篇实战之中,我们已经爬取过京东商城的文胸数据,但是前面的那一篇其实是有一个缺陷的,不知道你看出来没有,下面就来详细的说明和解决这个缺陷. 我们在京东搜索页面输入关键字进行搜索的时候,页面的返 ...

  6. Android UI设计规范之常用单位

    px :全称--pixel .像素.例如,480*800的屏幕在横向有320个象素,在纵向有480个象素. 屏幕的分辨率 : 屏幕的长宽方向上像素点的数量. dp(dip) : 全称--Density ...

  7. [CodeForces850C]Arpa and a game with Mojtaba

    题目大意: 给你一个包含n个数的数列,两个人轮流对数列进行如下操作: 选择一个质数p和一个正整数k,将数列中所有能被p^k整除的数除以p^k. 最后不能操作者负. 问先手是否有必胜策略. 思路: 显然 ...

  8. hdu 3681 压缩dp+搜索

    题意:一个机器人想越狱,他只能带一定电量的电池,'S'表示道路可行,'G'表示充电器, 只可充电一次,但是可以经过很多次.'F'表示起点,'Y'表示要破坏的机关,也是只能破坏一次,但是可以经过无数次. ...

  9. 三周学会小程序第四讲:Heroku 绑定 Github 自动部署

    这一讲是根据读者的反馈补充的一个讲解,好多读者反应安装 Heroku-cli 遇到问题,或者是操作繁琐,其实上一讲中提到的 Heroku 只是为了免费部署,而安装 Heroku-CLI只是为了部署,所 ...

  10. Android ConstraintLayout约束控件链接整理

    Android新特性介绍,ConstraintLayout完全解析 探索Android ConstraintLayout布局 了解使用Android ConstraintLayout