Detectar el permiso de la biblioteca de medios ios

En mi aplicación, quiero detectar si el usuario da permiso a su biblioteca multimedia o no. El usuario puede denegar el permiso de la biblioteca de medios cuando la window emergente del sistema solicita o después de la configuration. ¿Hay alguna forma de detectar el estado de los permissions de la biblioteca de medios?

Aquí está mi código que accede a la list de canciones.

MPMediaQuery *everything = [MPMediaQuery songsQuery]; NSArray *songArray = [everything items]; 

Consulte la siguiente captura de pantalla donde el usuario puede cambiar los permissions de la biblioteca de medios.

introduzca la descripción de la imagen aquí

 -(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; } } }]; } 

Temporalmente, solucioné mi problema comprobando el object songArray en el código siguiente

 MPMediaQuery *everything = [MPMediaQuery songsQuery]; NSArray *songArray = [everything items]; 

Si, el usuario denegó el permiso, el object songArray siempre es nulo, pero si el usuario permite el acceso a la Media Library songArray object songArray tiene un set de canciones. Incluso si no hay canciones en el dispositivo, pero el usuario da permiso para acceder a la Media Library entonces habrá una matriz con recuento de 0.

Intereting Posts