ios 随时检测蓝牙是否开启_iOS开发检测是否开启定位、是否允许消息推送等权限的实例...

1.iOS开发检测是否开启定位:

需要导入:

#import

代码如下:

+ (void)openLocationServiceWithBlock:(ReturnBlock)returnBlock

{

BOOL isOPen = NO;

if ([CLLocationManager locationServicesEnabled] && [CLLocationManager authorizationStatus] != kCLAuthorizationStatusDenied) {

isOPen = YES;

}

if (returnBlock) {

returnBlock(isOpen);

}

}

2.iOS开发检测是否允许消息推送:

需要导入:

#import

代码如下:

+ (void)openMessageNotificationServiceWithBlock:(ReturnBlock)returnBlock

{

BOOL isOpen = NO;

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_8_0

UIUserNotificationSettings *setting = [[UIApplication sharedApplication] currentUserNotificationSettings];

if (setting.types != UIUserNotificationTypeNone) {

isOpen = YES;

}

#else

UIRemoteNotificationType type = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];

if (type != UIRemoteNotificationTypeNone) {

isOpen = YES;

}

#endif

if (returnBlock) {

returnBlock(isOpen);

}

}

+ (void)openMessageNotificationServiceWithBlock:(ReturnBlock)returnBlock

{

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0

[[UNUserNotificationCenter currentNotificationCenter] getNotificationSettingsWithCompletionHandler:^(UNNotificationSettings *settings) {

if (returnBlock) {

returnBlock(settings.authorizationStatus == UNAuthorizationStatusAuthorized);

}

}];

#elif __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_8_0

returnBlock([[UIApplication sharedApplication] isRegisteredForRemoteNotifications]);

#else

UIRemoteNotificationType type = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];

if (returnBlock) {

returnBlock(type != UIRemoteNotificationTypeNone);

}

#endif

}

3.iOS开发检测是否开启摄像头:

需要导入:

#import

代码如下:

+ (void)openCaptureDeviceServiceWithBlock:(ReturnBlock)returnBlock

{

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_7_0

AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];

if (authStatus == AVAuthorizationStatusNotDetermined) {

[AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) {

if (returnBlock) {

returnBlock(granted);

}

}];

return NO;

} else if (authStatus == AVAuthorizationStatusRestricted || authStatus == AVAuthorizationStatusDenied) {

returnBlock(NO);

} else {

returnBlock(YES);

}

#endif

}

4.iOS开发检测是否开启相册:

需要导入:

#import #import

代码如下:

+ (void)openAlbumServiceWithBlock:(ReturnBlock)returnBlock

{

BOOL isOpen;

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_8_0

PHAuthorizationStatus authStatus = [PHPhotoLibrary authorizationStatus];

isOpen = YES;

if (authStatus == PHAuthorizationStatusRestricted || authStatus == PHAuthorizationStatusDenied) {

isOpen = NO;

}

#else

ALAuthorizationStatus author = [ALAssetsLibrary authorizationStatus];

isOpen = YES;

if (author == ALAuthorizationStatusRestricted || author == ALAuthorizationStatusDenied) {

isOpen = NO;

}

#endif

if (returnBlock) {

returnBlock(isOpe

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值