web-dev-qa-db-fra.com

Erreur _BSMachError: capacité (20) non valide (os/kern) après la réception d'une notification à distance sur l'ajout d'enregistrement CloudKit

Lorsque je reçois une notification à distance lors de l'ajout d'un enregistrement (appelé didReceiveRemoteNotification), le message d'erreur suivant s'affiche:

_BSMachError: (os/kern) capacité invalide (20)

J'ai déjà essayé d'en savoir plus à ce sujet sur les forums et via Google, mais je ne trouvais aucun conseil utile pour ma situation.

Que signifie le message d'erreur? Que puis-je faire à ce sujet? 

21
vomako

Je viens de vivre cette erreur. J'étais dans un bloc UIAlert Action; lorsque le bloc est sorti, l'erreur est survenue (BTW, le parent UIAlertViewController a été créé dans un dispatch_async block, de sorte que je suppose qu'il était hors du fil principal.

Quoi qu'il en soit, j'ai enveloppé le code d'action lui-même dans 

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

       [self handleActionForElement:thisType];



    });

et l'erreur est partie. Votre kilométrage peut varier!

13
davidey

Merci beaucoup, j'ai eu le même problème sur Swift 

J'ai donc résolu le problème en mettant le code dans le fil principal

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

J'avais le même problème ... Je tentais de présenter une vue personnalisée par-dessus un contrôleur de vues présenté du framework tiers.

Résolu en déplaçant la logique de présentation vers mon contrôleur de vue

0
Sunil