摄像头
/// 先判断摄像头硬件是否好用
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:@\"定位尚未打开,请设置打开\"];
}
版权声明
本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。


