CTCallCenter crash

Я разрабатываю приложение iPhone, которое должно синхронизироваться с статусами телефонных звонков. В настоящее время я воспроизвожу аудио и / или связь с внешним аксессуаром, поэтому мое приложение может работать в фоновом режиме. Поэтому, когда есть телефонный звонок, я показываю, что пользователь говорит, что происходит телефонный звонок. Я использую CTCallCenter (используя переменную экземпляра в приложении appDelegate), чтобы отвечать на статусы телефонных звонков, и я распределяю этот экземпляр каждый раз, когда я проверяю, есть ли телефонный звонок или нет. Bur при распределении этого экземпляра каждый раз, иногда я получаю странный сбой относительно класса CUTWeakReference. Я хочу знать, есть ли практика использования CTCallCenter, когда приложение находится в фоновом режиме или приостановлено, чтобы предотвратить этот сбой? благодаря

Solutions Collecting From Web of "CTCallCenter crash"

Вопросы для решения проблемы.

Существует ошибка iOS, которая заставляет экземпляры класса CTCallCenter иногда получать уведомления после того, как они были освобождены. Вместо того, чтобы создавать экземпляры, использовать и выпускать экземпляры, вы должны вместо этого сохранять и никогда не выпускать их для обхода ошибки.

В основной очереди должен быть запущен [[CTCallCenter alloc] init] . Это поточно-безопасный ??? Лучше назовите его только на основной теме.

 static CTCallCenter *netInfo; static dispatch_once_t dispatchToken; if (!netInfo) { dispatch_once(&dispatchToken, ^{ netInfo = [[CTCallCenter alloc] init]; }); }