PHPhotoLibrary request Autorización, no solicitar
Para las pruebas, estaba tratando de recrear la experiencia emergente 'Solicitar acceso' del sistema.
Actualizar:
En iOS 11, después de eliminar la aplicación, la ventana emergente del sistema se mostrará nuevamente.
(Pregunta anterior)
Primera vez que se ejecuta la aplicación (y elsolamente tiempo), se mostró la ventana emergente del sistema, solicitando acceso. Después de esto,ni siquiera eliminando la aplicación y reiniciando el dispositivo activará esa ventana emergente nuevamente.
En otras palabras, el dispositivo "recuerda" la solicitud del usuario y no hay forma de restablecerla.
Aquí está el código:
[PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) {
switch (status) {
case PHAuthorizationStatusAuthorized:
NSLog(@"PHAuthorizationStatusAuthorized");
break;
case PHAuthorizationStatusDenied:
NSLog(@"PHAuthorizationStatusDenied");
break;
case PHAuthorizationStatusNotDetermined:
NSLog(@"PHAuthorizationStatusNotDetermined");
break;
case PHAuthorizationStatusRestricted:
NSLog(@"PHAuthorizationStatusRestricted");
break;
}
}];
Cuando el acceso está desactivado en la configuración, sigue imprimiendo "PHAuthorizationStatusDenied". Pero no presenta ninguna ventana emergente. Devoluciones de inmediato.
Se sugirió agregar 'Nombre para mostrar paquete' al plist. Lo probé en vano, con un valor vacío, $ (PRODUCT_NAME) y diferentes cadenas.
Proyecto limpiado, borrado DrivedData (y borra la aplicación del simulador cada vez). Sin suerte.
Más información:
El código de muestra de Apple "SamplePhotosApp" se bloquea una vez que desactiva el acceso a las fotos en la Configuración.