Ошибка _BSMachError: (os/kern) недопустимая возможность (20) после получения удаленного уведомления при добавлении записи CloudKit

Когда я получаю удаленное уведомление о добавлении записи (вызвано didReceiveRemoteNotification), появляется следующее сообщение об ошибке:

_BSMachError: (os/kern) недопустимая возможность (20)

Я уже пытался узнать об этом больше на форумах и через Google, но я не нашел полезных советов, которые касаются моей ситуации.

Что означает сообщение об ошибке? Что я могу сделать с этим?

Ответ 1

Я просто испытал эту ошибку. Я был в блоке действий UIAlert; когда блок вышел из этой ошибки (BTW родительский UIAlertViewController был создан в dispatch_async block, поэтому я предпочел отключить основной поток.

Во всяком случае, я завернул сам код действия в

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

       [self handleActionForElement:thisType];



    });

и ошибка исчезла. Ваш пробег может отличаться!

Ответ 2

Большое спасибо, у меня была такая же проблема на быстрых

Итак, я решил это, поставив код в основной поток

func alertAction() {
  dispatch_async(dispatch_get_main_queue()) {
    //perform code
  }
}

Ответ 3

Была такая же проблема. Я пытался представить пользовательский вид поверх представленного контроллера представления сторонней структуры.

Решено, перемещая логику представления в контроллер моего представления

Ответ 4

Для Swift 5 я получил:

func alertAction() {
  DispatchQueue.main.async {
     //perform code
  }
}