Журнал сбоя iphone: предотвращение приостановки предотвращение приостановки - PullRequest
0 голосов
/ 30 декабря 2010

Я написал приложение для iPhone, которое транслирует несколько радиостанций. Приложение работает нормально и, кажется, не падает, даже работает в фоновом режиме. Единственная проблема заключается в том, что, когда я просматриваю журналы аварий на моем iPhone, всегда есть несколько экземпляров вышеуказанного журнала аварий. Это не кажется нормальным. Что я могу сделать, чтобы избавиться от этой аварии? Опять же, пользователь никогда не видит сбоев, и приложение фактически продолжает работать в фоновом режиме после 600 секунд.

Exception Type:  00000020
Exception Codes: 0x8badf00d
Highlighted Thread:  0

Application Specific Information:
CBCJazz[1196] has active assertions beyond permitted time: 
{(
  <SBProcessAssertion: 0x63f8f90> identifier: UIKitBackgroundCompletionTask process: CBCJazz[1196] permittedBackgroundDuration: 600.000000 reason: finishTask owner pid:1196 preventSuspend  preventIdleSleep 
)}

Спасибо за вашу помощь,

-RawMean

Ответы [ 2 ]

0 голосов
/ 11 февраля 2011

Скорее всего, вы не правильно завершите свои фоновые задачи.Проблема в том, что каждый раз, когда приложение выходит в фоновом режиме, создается новая задача.И каждая задача должна быть закончена.См. UIKitBackgroundCompletionTask - сбой приложения iPhone

0 голосов
/ 30 декабря 2010

Вы должны добавить ключ UIBackgroundModes в файл Info.plist. Этот ключ должен указывать массив, и вы должны добавить один строковый элемент, значение которого audio.

Не просто запускайте фоновую задачу и игнорируйте предупреждение о прекращении от сторожевого таймера. Если вы уже выполнили этот шаг, журналы сбоев могут быть там до того, как вы это сделали.

Подробнее см. Объявление поддерживаемых фоновых задач в Руководстве по программированию приложений для iOS .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...