How may I check if my app has access to phone gallery

青春壹個敷衍的年華 提交于 2019-12-03 01:58:50

You need to check the status of ALAssetLibrary make sure you have AssetsLibrary/AssetsLibrary.h included in your file

  ALAuthorizationStatus status = [ALAssetsLibrary authorizationStatus];

// check the status for ALAuthorizationStatusAuthorized or ALAuthorizationStatusDenied e.g

    if (status != ALAuthorizationStatusAuthorized) {
        //show alert for asking the user to give permission

    }

If you are using photos framework since ALAsset libraries are deprecated from ios 9 you can use PHAuthorizationStatus to check gallery access. You need to import photos framework as well.

  #import <Photos/Photos.h>

- (BOOL)hasGalleryPermission
{
    BOOL hasGalleryPermission = NO;
    PHAuthorizationStatus authorizationStatus = [PHPhotoLibrary authorizationStatus];

    if (authorizationStatus == PHAuthorizationStatusAuthorized) {
        hasGalleryPermission = YES;
    }
    return hasGalleryPermission;
}

Swift 3

import photos

PHPhotoLibrary.requestAuthorization { status in
     switch status {
     case .authorized:
          self.processSnapShotPhotos()
     case .restricted:
          print("handle restricted")
     case .denied:
          print("handle denied")     
     default:
       // place for .notDetermined - in this callback status is already determined so should never get here
            break
     }
}

Note: iOS 6 Only

Is this what you are looking for

[ALAssetsLibrary authorizationStatus] == ALAuthorizationStatusAuthorized;

Other values of authorizationStatus are

ALAuthorizationStatusRestricted,        // This application is not authorized to access photo data.
                                            // The user cannot change this application’s status, possibly due to active restrictions
                                            //  such as parental controls being in place.
    ALAuthorizationStatusDenied,            // User has explicitly denied this application access to photos data.
    ALAuthorizationStatusAuthorized         // User has authorized this application to access photos data.
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!