iPhone为了节省电力所以有一个自动休眠机制,如果想让我们的APP不自动进入休眠只需要设置 UIApplication的idleTimerDisabled
属性为 YES
即可。(切勿滥用)
示例:
[UIApplication sharedApplication].idleTimerDisabled = YES;
iPhone内置了接近传感器功能,比如当您手机通话使用中将手机靠近耳边时,iPhone画面是自动关闭,拿出耳边时,画面自动显示。
如果我们想在APP中实现这个需求只需要一行代码即可。
[UIDevice currentDevice].proximityMonitoringEnabled = YES;
如果想要对接近传感器进行监听可添加一个通知。通知名为 UIDeviceProximityStateDidChangeNotification
然后在通知的监听方法里根据接近传感器改变的状态进行相关处理,如下代码可获取状态。
[UIDevice currentDevice].proximityState
YES:画面关闭NO:画面显示
想要获取电池相关信息首先先调用 UIDevice
类的 batteryMonitoringEnabled
为YES监听电池。
电量获取调用 UIDevice
类的 batteryLevel
。
电池充电状态获取调用 UIDevice
类的 batteryState
。(返回的是一个枚举,枚举顾名思义自己去看)
示例代码
//电池相关信息
//开始监听
[UIDevice currentDevice].batteryMonitoringEnabled = YES;
//状态获取
NSLog(@"%zi",[UIDevice currentDevice].batteryState);
//电池电量
NSLog(@"%f",[UIDevice currentDevice].batteryLevel);
也可以在通知中注册 UIDeviceBatteryStateDidChangeNotification
和 UIDeviceBatteryLevelDidChangeNotification
监听电池的状态与电量的改变,并进行相关处理。
PS:其他UIDevice类的什么name呀model呀identifierForVendor那些谁都知道的属性就不赘述了。只是感觉上面几个API有点意思又容易被遗忘做个笔记而已。
剪贴板,一个不常用的class
iOS里有一个copy与paste的功能(就是长按出现的那个复制粘贴),而UIPasteboard可以获取或者设置paste里的值(看类名都知道了)。如下代码
//设置粘贴内容
[UIPasteboard generalPasteboard].string = @"string";
//获取粘贴内容
NSString *string = [UIPasteboard generalPasteboard].string;
欲知更多UIPasteboard相关API请自行阅读文档,谢谢合作。(不过笔者感觉先能用上以上两个API再说吧。233..)