Fehler '_BSMachError: Port 1607; (os / kern) ungültige Funktion (0x14) "COPY_SEND kann nicht eingefügt werden" in der Cordova-App unter iOS 10

77

Alles funktioniert einwandfrei, bis ich meine Cordova-Anwendung mit Xcode 7.3.0 erstelle, aber sie stürzte erst auf iOS 10-Geräten ab, nachdem ich dieselbe Anwendung mit Xcode 8 erstellt hatte, wenn ich die Ausrichtung von Portrait zu Landscape ändere, wo sie unter iOS immer noch einwandfrei funktioniert 9.3.1. Im Debugger erhalte ich folgende Protokolle:

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

Unten ist die Stapelverfolgung

Warnung: Es konnten keine Objective-C-Klasseninformationen aus dem gemeinsam genutzten dyld-Cache geladen werden. Dies wird die Qualität der verfügbaren Typinformationen erheblich verringern.

* 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

Ich renne

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

Bitte helfen Sie.

umesh
quelle
Ich habe die Hauptursache des Problems gefunden ... es ist die neue SVG-Datei (Größe> 1 MB), die dem Projekt hinzugefügt wurde und das Problem im Querformat erstellt. Ich bin nicht sicher, ob das Problem in der iOS Web View-Komponente oder der SVG-Datei liegt, da es für kleinere SVG-Dateien einwandfrei funktioniert.
Umesh
Die Hauptursache (gemäß dem von Ihnen eingefügten Stack-Trace) ist, dass Ihre Anwendung zu viel Speicher verwendet hat und auf Anforderung nicht genügend Speicher freigegeben hat. Dies scheint auch mit Ihrem Kommentar zur .svgDateigröße übereinzustimmen. Sie sollten den didReceiveMemoryWarningSelektor in Ihrem App-Delegaten implementieren , um nicht verwendete Objekte freizugeben.
Elist
4
Ich habe diesen Fehler beim Aufrufen von popViewController () im Handler für einen AlertController erhalten. Das Versenden des Codes, der popViewController () asynchron an den Hauptthread aufruft, hat das Problem behoben, da der Alert-Controller bereinigt wird, bevor der Pop aufgerufen wird. Ich füge diesen Kommentar hinzu, da andere, die diesen Fehler erhalten, ihn möglicherweise durch etwas anderes als das verursacht haben, was ihn für Sie verursacht.
David Rector

Antworten:

77

Ich habe die Meldung "Ungültige Funktion (0x14)" COPY_SEND kann nicht eingefügt werden "im Debugger erhalten, die den Start der App für etwa 10 Sekunden verhindern würde.

Ich hatte Haltepunkte in Dateien festgelegt, die ich seitdem aus dem Projekt entfernt hatte, die aber immer noch im Haltepunktnavigator angezeigt wurden (Dateinamen in Rot).

Ich habe ALLE Haltepunkte entfernt und die Fehlermeldung seitdem nicht mehr gesehen.

Craig Pickering
quelle
8
Ich weiß, es klingt komisch, aber das hat tatsächlich den Trick getan. Gerade alle Haltepunkte und BAM gelöscht! alles funktioniert plötzlich!
Rak Appdev
1
Funktioniert auch bei mir. Achten Sie auf den Code. Wenn Sie 0x14 erhalten, ist dies Ihre Lösung.
John Pang
Funktioniert für mich :)
xlsmearlx
Erhielt diesen Fehler: [Common] _BSMachError: port c203; (os / kern) ungültige Funktion (0x14) "COPY_SEND kann nicht eingefügt werden". Das Entfernen von Haltepunkten hat das Problem behoben.
CMont
1
Dies ist eine verschlagene, kopfschmeißende Lösung, aber sie hat bei mir funktioniert! Bitte reparieren Sie diesen Apfel!
Woody121
56

Ich bin in den Beta-Phasen von iOS 10.0 auf dasselbe Problem gestoßen, und es scheint immer noch in Xcode v11 vorhanden zu sein.

Es gibt tatsächlich 2 separate Fehler:


1. Wie Avaan kommentierte, müssen Sie zunächst die gesamte Datenschutznutzung in der info.plist festlegen. Ich glaube, es ist die Ursache für Ihren Absturz.

Seit iOS 10.0 muss dem Benutzer explizit mitgeteilt werden, welche Funktionen des Telefons Sie aus welchen Gründen verwenden werden.

Projektinfo


2. In Bezug auf den Fehler:

BSMachError: Port 1607; (os / kern) ungültige Funktion (0x14) "COPY_SEND kann nicht eingefügt werden"

Ich habe den Fehler mit dieser kleinen Problemumgehung behoben:

  1. Gehen Sie zu Projekteinstellungen / Allgemein -> Bereitstellungsinformationen und überprüfen Sie alle Ausrichtungen.

Allgemeine Einstellungen

  1. Beim Erstellen und Ausführen sollte sich die Benutzeroberfläche entsprechend der Geräteorientierung drehen.
  2. Machen Sie rückgängig, was Sie gerade getan haben (deaktivieren Sie nicht benötigte Orientierungen). Erstellen und erneut ausführen, die Fehler sollten nicht mehr auftreten.

Ich hoffe das hat geholfen

Neimsz
quelle
6
wow ... ich habe nicht erwartet, dass das funktioniert, aber es hat funktioniert. +1 BEARBEITEN: XCode v8.1
cloudcal
+1 Großartig, der zweite Schritt hat meinen Fehler behoben. Anfangs wurde die gesamte Ausrichtung überprüft, dann habe ich nur das Porträt beibehalten und danach gebaut und ausgeführt und dann alle erneut überprüft. Ich benutze WKWebView
anoop4real
1
Hat bei mir nicht funktioniert :(. Immer noch Absturz. Xcode 11.1. Wird auf iOS 11.4.1-Hardware ausgeführt. Das Problem tritt auf, wenn die App gestartet wird und ich rotiere, bevor sie gestartet wird. Es tritt nicht nur beim Ausführen / Debuggen unter Xcode auf Ich vermute, dies hängt mit dem "COPY_SEND kann nicht eingefügt werden" zusammen, da ich diese Meldung sehe, wenn ich unter Xcode laufe.
Chris Prince
Ich bin auf Xcode 9.4.1. Ich habe all dies versucht und bekomme immer noch diesen seltsamen Fehler. Ich bekomme keinen Absturz, ich kann nur Medienelemente in meinen Chat-Tisch posten. Irgendwelche anderen Vorschläge?
Luke Irvin
Das ist lächerlich und sinnlos von Apfel.
Vishal Dharankar
6

Ich habe genau diesen Fehler beim Zurücksetzen der Kerndaten erhalten, aber keine der oben genannten Lösungen hat funktioniert oder war in meinem Fall relevant. Es stellte sich heraus, dass Code innerhalb der Aktion von UIAlert stattfand, der in den Haupt-Thread verschoben werden musste. Hier gefundene Lösung - Fehler _BSMachError: (os / kern) ungültige Funktion (20) nach Erhalt einer Remote-Benachrichtigung über das Hinzufügen von CloudKit-Datensätzen - und unten für Swift 4 aktualisiert:

alert.addAction(UIAlertAction(title: "Reset Now", style: UIAlertAction.Style.default, handler: { action in
            DispatchQueue.main.async {
                // Core Data reset code goes here...
            }
}))
okat
quelle
5

Für mich war die Ursache [myTextField becomeFirstResponder]; Wird platziert, nachdem der ursprüngliche viewWillAppear-Thread beendet wurde.

Peter B. Kramer
quelle
1

Ich hatte ein ähnliches Problem (siehe meine Frage zu SO ) und stellte fest, dass meine Benutzeroberfläche eine weitere Instanz von sich selbst erstellt hatte, die beide gleichzeitig präsentierte.

Wenn Sie noch keine Lösung für Ihr Problem gefunden haben, empfehle ich Ihnen, das Debug View Hierarchy-Tool zu verwenden. Vielleicht haben Sie das gleiche Problem wie ich.

Viel Glück!

Johan Tingbacke
quelle
1

Ich habe dies beim Hinzufügen eines Info.plist-Schlüssels ohne passende Zeichenfolge erhalten. In meinem Fall habe ich NSLocationAlwaysAndWhenInUseUsageDescription ohne Beschreibung hinzugefügt. Wenn Sie auf den Berechtigungsdialog zugreifen, tritt dieser Fehler auf. Durch Hinzufügen eines Zeichenfolgenwerts wurde das Problem behoben. iOs11.

lucygenik
quelle
1
Es stellte sich heraus, dass dies das Problem für mich war. Seltsam, oder? Vielen Dank!
Bill Norman
1

Ich habe diesen Fehler erhalten, jede Lösung in diesem Thread ausprobiert und nichts hat funktioniert. Ich hatte einen scheinbar nicht verwandten UIColor-Fehler (Farbe außerhalb des Bereichs), den ich behoben habe, und dieses COPY_SEND-Problem wurde ebenfalls behoben.

Der spezifische UIColor-Fehler war UIColorBreakForOutOfRangeColorComponents.

Kennzeichen
quelle
Hat für mich gearbeitet. Vielen Dank.
Gallymon
1

Es stellt sich heraus, dass die App abstürzt, wenn Sie EventKit, ContactsKit, Mikrofon, Kamera usw. aufrufen, für die Berechtigungen ohne Info.plist-Schlüssel erforderlich sind, z. B.
Datenschutz - Speicherort bei Verwendung Verwendung Beschreibung
Datenschutz - Medienbibliothek Nutzungsbeschreibung

Ich habe diese Antwort von https://forums.developer.apple.com/thread/48959 erhalten Thread

Überprüfen Sie auch, ob Sie vergessen haben, Zombies zu deaktivieren.

Sangram Shivankar
quelle
Hallo NSSam, ich habe alle Optionen ausprobiert, aber das Problem nicht behoben. Absturz tritt nur auf den realen Geräten auf, auf Simulatoren funktioniert es einwandfrei, aber es werden riesige Warnungen ausgegeben.
Umesh
Versuchen Sie, NSPhotoLibraryUsageDescription hinzuzufügen.
Avaan
1

Ich hatte plötzlich diesen Fehler mit dem iPhone 11 Pro Simulator, während er überall gut funktionierte (andere Simulatoren und tatsächliche Geräte).

Die Lösung für mich bestand darin, den Simulator zurückzusetzen, indem Sie Hardware> Alle Inhalte und Einstellungen löschen ...

Hoffe, es kann einigen anderen im gleichen Fall helfen.

mxlhz
quelle
1

Xcode 11.5 führte eine neue ungültige Funktion ein: [textField resignFirstResponder]mit dem unverständlichen Zusatz"Unable to insert COPY_SEND"

Auf einem iPad mit iOS 9.3.6:

2020-05-23 20:35:01.576 _BSMachError: (os/kern) invalid capability (20)
2020-05-23 20:35:01.580 _BSMachError: (os/kern) invalid name (15)

Auf einem iPad mit iPadOS 13.5:

2020-05-23 20:38:49 [Common] _BSMachError: port 12f0f; (os/kern) invalid capability (0x14) "Unable to insert COPY_SEND"

Auf einem iPhone mit iOS 13.5:

2020-05-23 20:43:34 [Common] _BSMachError: port d503; (os/kern) invalid capability (0x14) "Unable to insert COPY_SEND"

[textField resignFirstResponder]kann nicht mehr verwendet werden. Siehe So verlassen Sie den Ersthelfer aus dem Textfeld, wenn der Benutzer auf eine andere Stelle tippt. für Alternativen.

Jan Ehrhardt
quelle
Habe das gleiche Problem, wenn ich das textField.becomeFirstRespondermit Xcode 11.5 aufrufen möchte . Ist das ein Fehler oder müssen wir wirklich eine Alternative wählen?
SDW
1
Sie müssen eine Alternative verwenden. Siehe den Link, den ich in der letzten Zeile meiner Antwort gepostet habe.
Jan Ehrhardt
0

Für mich waren die Übersetzungen auf meiner Liste. Stellen Sie sicher, dass bei einer Lokalisierung Ihrer Plist die richtigen Datenschutztexte übersetzt wurden.

Ich habe Stunden gebraucht, bis ich es gefunden habe ... Ich bekam ständig ein SFSafariView-Layoutproblem.

Pegpeg
quelle