Je travaille sur la lecture audio en arrière-plan de mon application. Mais certains utilisateurs m'ont prévenu d'un bug étrange. Après 1 heure ou plus de jeu en arrière-plan, l'application est supprimée par iOS et vous devez la relancer. Généralement, cela se produit avec une mauvaise connexion Internet, lorsque l'application doit créer une tâche d'arrière-plan très souvent et l'utiliser jusqu'à ce que suffisamment de données seront téléchargées pour relancer la lecture.iOS CPU_FATAL 0% en arrière-plan
Je connais la limite de temps pour les tâches en arrière-plan et ce n'est pas un problème. Voici une partie du journal de plantage de l'appareil de l'utilisateur:
Exception Type: EXC_RESOURCE
Exception Subtype: CPU_FATAL
Exception Message: (Limit 80%) Observed 0% over 60 sec
Triggered by Thread: 0
Le plus étrange est la troisième ligne. Pourquoi est-ce une exception, si 0% est inférieur à la limite de 80%? En symbolisant la trace de la pile du Thread 0 (c'est le thread principal), j'ai trouvé que c'est arrivé à la méthode - [NSFileManager fileExistsAtPath:]
. Auparavant, il est arrivé sur la méthode + [UIImage imageWithContentsOfFile:]
. Alors qu'est-ce qui pourrait figer l'accès au système de fichiers en arrière-plan sur iOS?
aussi:
- Il arrive lorsque l'application tente de définir l'image sur un écran de verrouillage.
- Les images sont stockées dans le dossier Cache.
Merci pour la réponse, mais d'abord: les images sont déjà téléchargées. Deuxièmement: cela arrive quand j'essaie de définir la pochette sur l'écran de verrouillage. Apple fournit cette API et il est certainement lié à la lecture de fond (l'application essaie de définir l'art de couverture de la piste en cours de lecture). –