Erreur ‘_BSMachError: port 1607; (os / kern) capacité invalide (0x14) «Impossible d’insérer COPY_SEND» dans l’application Cordova sur iOS 10

Tout fonctionne bien jusqu’à ce que je construise mon application Cordova avec Xcode 7.3.0 mais il a commencé à se planter uniquement sur les appareils iOS 10 après avoir créé la même application avec Xcode 8 chaque fois que je change d’orientation de Portrait à Paysage. 9.3.1. Dans le débogueur, je reçois les 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 

Voici la trace de la stack

warning: impossible de charger des informations de classe Objective-C à partir du cache partagé dyld. Cela réduira considérablement la qualité des informations de type disponibles.

 * 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 entrain de courir

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

S’il vous plaît aider.

J’ai rencontré le même problème lors des phases bêta d’iOS10.0, et il semble toujours être présent dans Xcode v8.1.

Il y a en fait 2 erreurs distinctes:


1. Tout d’abord, comme l’a fait remarquer Avaan, vous devez définir l’utilisation de la confidentialité dans info.plist. Je crois que c’est la cause de votre crash.

Depuis iOS 10.0, il est obligatoire d’indiquer explicitement à l’utilisateur les fonctionnalités du téléphone que vous utiliserez et pour quelles raisons.

Informations sur le projet


2. Concernant l’erreur:

BSMachError: port 1607; (os / kern) capacité invalide (0x14) “Impossible d’insérer COPY_SEND”

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

  1. Allez dans Paramètres du projet / Général -> Informations sur le déploiement, vérifiez toutes les orientations.

Réglages généraux

  1. Construire et exécuter, l’interface doit pivoter en fonction de l’orientation du périphérique.
  2. Annuler ce que vous venez de faire (décochez les orientations dont vous n’avez pas besoin). Construire et exécuter à nouveau, les erreurs ne devraient plus apparaître.

J’espère que cela a aidé

Je recevais la “capacité invalide (0x14)” Impossible d’insérer le message COPY_SEND dans le débogueur, ce qui empêcherait l’application de se lancer pendant environ 10 secondes.

J’avais des points d’arrêt définis dans des fichiers que j’avais depuis retirés du projet, mais qui apparaissaient toujours dans le navigateur Breakpoint (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.

Apparaît – l’application va planter si vous appelez EventKit, ContactsKit, Microphone, Camera etc etc qui nécessite des permissions sans clés Info.plist comme
Confidentialité – Emplacement en cours d’utilisation Description de l’utilisation
Confidentialité – Description de la bibliothèque multimédia

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.

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 Hiérarchie de la vue de débogage … vous avez peut-être le même type de problème que moi.

Bonne chance!

Je l’ai eu en ajoutant une clé Info.plist sans chaîne correspondante. Dans mon cas, j’ai ajouté NSLocationAlwaysAndWhenInUseUsageDescription sans description. L’access à la boîte de dialog d’autorisation provoque cette erreur. L’ajout d’une valeur de chaîne a résolu le problème. iOs11.

Pour moi, c’était les traductions sur mon plist. Vérifiez que les textes de confidentialité appropriés sont traduits si votre plist est localisé.

Il m’a fallu des heures jusqu’à ce que je le trouve … J’avais un problème de mise en page SFSafariView tout le temps.

J’ai eu cette erreur, essayé toutes les solutions dans ce fil, et rien n’a fonctionné. J’ai eu une erreur UIColor (couleur hors plage) apparemment sans rapport que j’ai corrigée et ce problème COPY_SEND a également disparu.

L’erreur UIColor spécifique était UIColorBreakForOutOfRangeColorComponents.

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