78 votes

Erreur '_BSMachError: port 1607; (os / kern) capacité non valide (0x14) "Impossible d'insérer COPY_SEND" dans l'application Cordova sous iOS 10

Tout fonctionne bien jusqu'à ce que je construire mon cordova application avec Xcode 7.3.0 mais il a commencé à s'écraser uniquement sur iOS 10 appareils après la construction de la même application avec Xcode 8 quand je suis à la modification de l'orientation de Portrait à Paysage où, comme il travaille toujours bien sur iOS 9.3.1. Dans le débogueur je reçois des journaux suivants:

2016-09-24 18:14:41.212470 MyApp[2542:1028606] [Common] _BSMachError: port 1607; (os/kern) invalid capability (0x14) "Unable to insert COPY_SEND"
2016-09-24 18:14:41.613460 MyApp[2542:1028606] [Common] _BSMachError: port 1607; (os/kern) invalid name (0xf) "Unable to insert COPY_SEND"
2016-09-24 18:14:41.613947 MyApp[2542:1028606] [Common] _BSMachError: port 1607; (os/kern) invalid name (0xf) "Unable to insert COPY_SEND"
2016-09-24 18:14:41.614469 MyApp[2542:1028606] [Common] _BSMachError: port 1607; (os/kern) invalid name (0xf) "Unable to deallocate send right"
Message from debugger: Terminated due to memory issue

Ci-dessous est la trace de la pile

avertissement: impossible de charger tout Objective-C informations de classe de la dyld cache partagé. Cela permettra de réduire considérablement la qualité de l'information de type disponible.

* thread #1: tid = 0xfc80c, 0x00000001000cff00 MyApp`-[MainViewController didReceiveMemoryWarning](self=0x0000000119e0da60, _cmd="didReceiveMemoryWarning") + 40 at MainViewController.m:59, stop reason = breakpoint 7.1

  * frame #0: 0x00000001000cff00 MyApp`-[MainViewController didReceiveMemoryWarning](self=0x0000000119e0da60, _cmd="didReceiveMemoryWarning") + 40 at MainViewController.m:59
    frame #1: 0x0000000192e29964 UIKit`+[UIViewController _traverseViewControllerHierarchyWithDelayedRelease:] + 432
    frame #2: 0x0000000192d5a0f4 UIKit`-[UIApplication _performMemoryWarning] + 232
    frame #3: 0x0000000192d5a294 UIKit`-[UIApplication _receivedMemoryNotification] + 140
    frame #4: 0x0000000100a7d21c libdispatch.dylib`_dispatch_client_callout + 16
    frame #5: 0x0000000100a893a8 libdispatch.dylib`_dispatch_continuation_pop + 708
    frame #6: 0x0000000100a97fa8 libdispatch.dylib`_dispatch_source_latch_and_call + 204
    frame #7: 0x0000000100a7f304 libdispatch.dylib`_dispatch_source_invoke + 836
    frame #8: 0x0000000100a82060 libdispatch.dylib`_dispatch_main_queue_callback_4CF + 652
    frame #9: 0x000000018cc29f2c CoreFoundation`__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
    frame #10: 0x000000018cc27b18 CoreFoundation`__CFRunLoopRun + 1660
    frame #11: 0x000000018cb56048 CoreFoundation`CFRunLoopRunSpecific + 444
    frame #12: 0x000000018e5d9198 GraphicsServices`GSEventRunModal + 180
    frame #13: 0x0000000192b2f818 UIKit`-[UIApplication _run] + 684
    frame #14: 0x0000000192b2a550 UIKit`UIApplicationMain + 208
    frame #15: 0x00000001000c7ecc MyApp`main(argc=1, argv=0x000000016fd3fab8) + 76 at main.m:32
    frame #16: 0x000000018bb385b8 libdyld.dylib`start + 4

Je suis en cours d'exécution

  • Xcode 8
  • Cordova 6.3.0 (iOS 4.1.0)
  • iOS 10 iPhone 6

S'il vous plaît aider.

77voto

Craig Pickering Points 341

Je recevais le message "Capacités invalides (0x14)" Impossible d'insérer COPY_SEND "dans le débogueur, ce qui empêcherait l'application de démarrer pendant environ 10 secondes.

J'avais des points d'arrêt définis dans des fichiers que j'avais depuis supprimés du projet mais qui apparaissaient toujours dans le navigateur Points d'arrêt (noms de fichiers en rouge).

J'ai supprimé TOUS les points d'arrêt et je n'ai pas vu le message d'erreur depuis.

55voto

Neimsz Points 1045

J'ai rencontré le même problème lors de iOS10.0 début de la phase beta, et il semble toujours être présent dans Xcode v8.1.

Il y a en fait 2 erreurs :


1. Tout d'abord, comme Avaan commenté, vous devez définir tous les la vie privée de l'usage de l'info.plist. Je crois que c'est la cause de votre panne.

Depuis iOS10.0, il est obligatoire d'indiquer explicitement à l'utilisateur que les fonctionnalités du téléphone que vous utilisez,, et pour quelles raisons.

Project Info


2. Concernant l'erreur :

BSMachError: port 1607; (os/kern) non valide capacité (0x14) "Impossible de insérez COPY_SEND"

J'ai résolu l'erreur avec cette petite solution de contournement :

  1. Aller dans les Paramètres de Projet/General -> Déploiement d'infos, consultez toutes les orientations.

General settings

  1. Construire et exécuter, l'interface devrait tourner en fonction de l'orientation du périphérique.
  2. Défaire ce que vous avez fait juste (décochez les orientations que vous n'avez pas besoin). Construire et exécuter à nouveau, les erreurs ne devrait plus apparaître.

J'espère que cela a aidé

5voto

Peter B. Kramer Points 6129

Pour moi, la cause était [myTextField becomeFirstResponder] ; placé après la fin du thread initial viewWillAppear.

1voto

Sangram S. Points 2513

Il s'avère que l'application va se bloquer si vous appelez EventKit, ContactsKit, Microphone, Appareil photo, etc., etc. qui requiert des autorisations sans clés Info.plist telles que
Confidentialité - Emplacement en cours d'utilisation Description de l'utilisation
Confidentialité - Description d'utilisation de la médiathèque

j'ai eu cette réponse de https://forums.developer.apple.com/thread/48959 thread

vérifiez également si vous avez oublié de désactiver les zombies.

1voto

Johan Tingbacke Points 423

J'ai eu un problème similaire (consultez ma question sur SO ) et j'ai découvert que mon interface utilisateur avait créé une autre instance d'elle-même, présentant les deux en même temps.

Si vous n'avez pas encore trouvé de solution à votre problème, je vous conseille d'utiliser l'outil Debug View Hierarchy ... vous avez peut-être le même type de problème que moi.

Bonne chance!

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X