摄像头
/// 先判断摄像头硬件是否好用
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
// 用户是否允许摄像头使用
NSString * mediaType = AVMediaTypeVideo;
AVAuthorizationStatus authorizationStatus = [AVCaptureDevice authorizationStatusForMediaType:mediaType];
// 不允许弹出提示框
if (authorizationStatus == AVAuthorizationStatusRestricted|| authorizationStatus == AVAuthorizationStatusDenied)
{
UIAlertView *alterView=[[UIAlertView alloc]initWithTitle:@"提示" message:@"请前往设置,开启相机权限" delegate:self cancelButtonTitle:@"好的" otherButtonTitles: nil];
[alterView show];
}
else
{
// 这里是摄像头可以使用的处理逻辑
[self instanceDevice];
}
}
else
{
// 硬件问题提示
UIAlertView *alterView=[[UIAlertView alloc]initWithTitle:@"提示" message:@"请检查手机摄像头设备" delegate:self cancelButtonTitle:@"好的" otherButtonTitles: nil];
[alterView show];
}
蓝牙
- (void)centralManagerDidUpdateState:(CBCentralManager *)central {
switch (central.state) {
case CBCentralManagerStatePoweredOn:
{
_manager = [XMBleManager sharedBluetoothManager];
[_manager checkBleState];
_manager.connectFailedCallback = ^(NSString *str) {
[HemaFunction openIntervalHUD:str];
};
}
break;
default:
{
if (!isFirst)
{
UIAlertView *alterView=[[UIAlertView alloc]initWithTitle:@"提示" message:@"请检查蓝牙设置" delegate:self cancelButtonTitle:@"好的" otherButtonTitles: nil];
[alterView show];
}
isFirst = YES;
}
break;
}
}
定位
需要先导入#import <CoreLocation/CoreLocation.h>
CLAuthorizationStatus status = [CLLocationManager authorizationStatus];
if ([CLLocationManager locationServicesEnabled] && kCLAuthorizationStatusDenied != status && kCLAuthorizationStatusRestricted != status)
{
// 开始定位,搜索附近位置
[self startLocation];
}
else
{
[HemaFunction openIntervalHUD:@"定位尚未打开,请设置打开"];
}