鸡助又没卵用的APIS for ios

 好玩的一些APIS:那些简单又容易被忽略的。

纯属记个笔记方便笔者查阅,因为笔者感觉这几个api有点意思而又不常用也容易被忽略。

禁止进入休眠

iPhone为了节省电力所以有一个自动休眠机制,如果想让我们的APP不自动进入休眠只需要设置UIApplication的idleTimerDisabled属性为YES即可。(切勿滥用)
示例:

1
[UIApplication sharedApplication].idleTimerDisabled = YES;

接近传感器

iPhone内置了接近传感器功能,比如当您手机通话使用中将手机靠近耳边时,iPhone画面是自动关闭,拿出耳边时,画面自动显示。

如果我们想在APP中实现这个需求只需要一行代码即可。

1
[UIDevice currentDevice].proximityMonitoringEnabled = YES;

如果想要对接近传感器进行监听可添加一个通知。通知名为UIDeviceProximityStateDidChangeNotification

然后在通知的监听方法里根据接近传感器改变的状态进行相关处理,如下代码可获取状态。

1
[UIDevice currentDevice].proximityState

YES:画面关闭
NO:画面显示

获取电池相关信息

想要获取电池相关信息首先先调用UIDevice类的batteryMonitoringEnabled为YES监听电池。

电量获取调用UIDevice类的batteryLevel
电池充电状态获取调用UIDevice类的batteryState。(返回的是一个枚举,枚举顾名思义自己去看)
示例代码

1
2
3
4
5
6
7
//电池相关信息
//开始监听
[UIDevice currentDevice].batteryMonitoringEnabled = YES;
//状态获取
NSLog(@"%zi",[UIDevice currentDevice].batteryState);
//电池电量
NSLog(@"%f",[UIDevice currentDevice].batteryLevel);

也可以在通知中注册UIDeviceBatteryStateDidChangeNotificationUIDeviceBatteryLevelDidChangeNotification监听电池的状态与电量的改变,并进行相关处理。

PS:其他UIDevice类的什么name呀model呀identifierForVendor那些谁都知道的属性就不赘述了。只是感觉上面几个API有点意思又容易被遗忘做个笔记而已。

剪贴板

剪贴板,一个不常用的class
iOS里有一个copy与paste的功能(就是长按出现的那个复制粘贴),而UIPasteboard可以获取或者设置paste里的值(看类名都知道了)。如下代码

1
2
3
4
//设置粘贴内容
[UIPasteboard generalPasteboard].string = @"string";
//获取粘贴内容
NSString *string = [UIPasteboard generalPasteboard].string;

欲知更多UIPasteboard相关API请自行阅读文档,谢谢合作。(不过笔者感觉先能用上以上两个API再说吧。233..)

文章目录
  1. 1. 禁止进入休眠
  2. 2. 接近传感器
  3. 3. 获取电池相关信息
  4. 4. 剪贴板