检测媒体库ios的权限

aja*_*asa 9 objective-c ios media-library swift

在我的应用程序中,我想检测一下,如果用户是否允许他的媒体库.当系统弹出询问或稍后设置时,用户可能会拒绝媒体库权限.有没有办法检测媒体库权限的状态?

这是我访问歌曲列表的代码.

MPMediaQuery *everything = [MPMediaQuery songsQuery];
NSArray *songArray = [everything items];
Run Code Online (Sandbox Code Playgroud)

请参阅下面的屏幕截图,用户可以更改媒体库权限.

在此输入图像描述

Mar*_*ssa 19

-(void) checkMediaLibraryPermissions {
    [MPMediaLibrary requestAuthorization:^(MPMediaLibraryAuthorizationStatus status){
        switch (status) {
            case MPMediaLibraryAuthorizationStatusNotDetermined: {
                // not determined
                break;
            }
            case MPMediaLibraryAuthorizationStatusRestricted: {
                // restricted
                break;
            }
            case MPMediaLibraryAuthorizationStatusDenied: {
                // denied
                break;
            }
            case MPMediaLibraryAuthorizationStatusAuthorized: {
                // authorized
                break;
            }
            default: {
                break;
            }
        }
    }];
}
Run Code Online (Sandbox Code Playgroud)