44 votes

App tué par SIGKILL lors de la modification des paramètres de confidentialité

Mon application iOS accède aux photos de l'utilisateur avec ALAssetsLibrary . Lorsque je modifie les paramètres de confidentialité de l'application (Paramètres → Confidentialité → Photos), l'application est supprimée par le système ( SIGKILL ). Est-ce un bug?

33voto

clauswey Points 301

Je pense que c'est un bug ou au moins mal documentée et un comportement inattendu. Mais il ne se bloque pas, il est juste obligé de redémarrer. Vous recevrez un SIGKILL message mais pas de Crash.

Si vous êtes inscrit à des développeurs d'apple, vous pouvez vérifier leurs forums pour discuter de cette question

Je ne sais pas du tout de la manière d'éviter ce problème mais n'hésitez pas à remplir un rapport de bogue avec apple. Il est dit qu'ils utilisent bug doublons comme une façon de mesurer le bug de la gravité. Peut-être que vous pouvez stocker votre application afin de la restaurer quand il redémarre.

10voto

matt Points 60113

Cela se produit aussi bien lors de l'utilisation de UIImagePickerController. La séquence qui va comme ceci:

  1. Vous montrer la UIImagePickerController. La première fois, la petite alerte demande à l'utilisateur l'autorisation d'utiliser la photo de la bibliothèque. Disons que l'utilisateur dit non.

  2. Tous les utilisateurs peuvent faire avec le contrôleur de sélecteur à ce stade est d'annuler, donc, nous allons supposer que ce qui se passe.

  3. Sur certains, plus tard pour l'occasion, vous montrer la UIImagePickerController. Il contient maintenant une noncustomizable message disant qu'il n'y a pas d'accès à la bibliothèque de photos, mais que l'utilisateur peut activer l'accès dans les Paramètres.

  4. L'utilisateur passe pour les Réglages et permet d'accéder à la bibliothèque de photos pour cette application.

  5. L'application se bloque en arrière-plan. Il n'importe pas de savoir si l'utilisateur a annulé le sélecteur ou à gauche de l'affichage.

J'ai déposé un bug, et je vous suggère de faire de même, pour votre situation. Apple a introduit une nouvelle intimité système iOS 6 et clairement les problèmes n'ont pas été exploités.

0voto

Ali Points 926

OK ma 1ère fois pour écrire une réponse. J'espère que j'ai bien compris :)

Accédez-vous à la bibliothèque d'actifs à l'aide de assetForURL: resultBlock: failureBlock:?

Dans ce cas, le plus probablement, vous ne gérez pas le bloc d’erreur de ALAssetLibrary.

Vous pourriez faire quelque chose comme

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

Ainsi, lorsque votre application n'a pas accès à la photothèque, elle demandera à l'utilisateur de le faire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X