ios ios6 assetslibrary

ios - Aplicación destruida por SIGKILL al cambiar la configuración de privacidad



ios6 assetslibrary (6)

OK mi primera vez para escribir una respuesta. Espero hacerlo bien :)

¿Está accediendo a la Biblioteca de activos utilizando el assetForURL: resultBlock: failureBlock:?

Si lo es entonces, lo más probable es que no esté manejando el bloque de falla de ALAssetLibrary.

Podrías hacer algo como

ALAssetsLibraryAccessFailureBlock failureBlock = ^(NSError *error) { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Access to Photo Library is Denied " message:@"Please allow <YOUR APP NAME> to access your Photo library from Privacy Settings" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alert show]; [alert release]; }

Entonces, cuando su aplicación no tenga acceso a la biblioteca de fotos, le pedirá al usuario que lo haga.

Mi aplicación para iOS accede a las Fotos del usuario con ALAssetsLibrary . Cuando cambio la configuración de privacidad de la aplicación (Configuración → Privacidad → Fotos), el sistema mata la aplicación ( SIGKILL ). ¿Es esto un error?


Creo que es un error o, al menos, un comportamiento poco documentado e inesperado. Pero no falla, solo se lo fuerza a reiniciarse. Obtendrás un mensaje SIGKILL pero no un registro de bloqueo.

Si eres un desarrollador de Apple registrado, puedes consultar sus foros para debatir sobre este tema

No sé de ninguna manera cómo evitar este comportamiento, pero no dude en presentar un informe de error con Apple. Se rumorea que utilizan duplicados de errores como una forma de medir la severidad del error. Tal vez pueda almacenar el estado de su aplicación para restaurarla cuando se reinicie.


Esto también ocurre cuando se usa UIImagePickerController. La secuencia es así:

  1. Muestra el UIImagePickerController. La primera vez, la pequeña alerta le pide permiso al usuario para usar la biblioteca de fotos. Digamos que el usuario dice que no.

  2. Todo lo que el usuario puede hacer con el controlador del selector en este momento es cancelar, así que supongamos que eso es lo que sucede.

  3. En alguna ocasión posterior, muestra el UIImagePickerController. Ahora contiene un mensaje no personalizable que dice que no hay acceso a la biblioteca de fotos, pero que el usuario puede habilitar el acceso en Configuración.

  4. El usuario cambia a Configuración y habilita el acceso a la biblioteca de fotos para esta aplicación.

  5. La aplicación falla en segundo plano. No importa si el usuario ha cancelado el selector o lo dejó en la pantalla.

He archivado un error al respecto y te sugiero que hagas lo mismo para tu situación. Apple presentó un nuevo sistema de privacidad en iOS 6 y claramente los problemas no se han resuelto.



Cuando prueba su aplicación usando simulador. Al cambiar los permisos de la aplicación, obtiene un punto de interrupción. Puede escribir "c" en la consola para que la aplicación continúe ejecutándose y vuelva al estado original. Pero en su dispositivo real, ese no es la historia. Solo reinicia la aplicación.


Algunas veces el error SIGKILL funciona como un error de interrupción, le da señal a iOS de que debe reiniciar su aplicación y al mismo tiempo estamos administrando tareas de la aplicación y en esa instancia la aplicación no maneja la forma de enviar mensajes de interrupción.

En mi caso ..... No permito las fotos y el acceso a la cámara en la aplicación y cada vez que estoy permitiendo el acceso a estas funciones, minimizo la aplicación y habilito estas configuraciones. Cuando habilité estos, iOS recibe una interrupción y la aplicación recibe esto pero no puede manejarlo y el resultado es que nuestra aplicación finaliza o se cierra.