dyld: Bibliothek nicht geladen: @ rpath / libswiftCore.dylib


412

Ich versuche, eine Swift-App auf meinem iPhone 4s auszuführen. Es funktioniert gut auf dem Simulator und mein Freund kann es erfolgreich auf seinem iPhone 4s ausführen. Ich habe iOS 8 und die offizielle Version von Xcode 6.

Ich habe versucht

  • Neustart von Xcode, iPhone, Computer
  • Reinigung & Umbau
  • Widerrufen und Erstellen eines neuen Zertifikat- / Bereitstellungsprofils
  • Runpath Search Paths ist $(inherited) @executable_path/Frameworks
  • Eingebetteter Inhalt enthält Swift-Code lautet "Ja".
  • Code Signing Identity ist Entwickler

Unten ist der Fehler in seiner Gesamtheit

dyld: Library not loaded: @rpath/libswiftCore.dylib
  Referenced from: /private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/AppName.app/AppName
  Reason: no suitable image found.  Did find:
    /private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/AppName.app/Frameworks/libswiftCore.dylib: mmap() error 1 at
address=0x008A1000, size=0x001A4000 segment=__TEXT in Segment::map() mapping
/private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/APPLICATION_NAME/Frameworks/libswiftCore.dylib


4
sauber und wieder aufgebaut hat für mich
funktioniert

Lösung ist hier . Das gleiche Thema
Tarik

Reinigung und Wiederaufbau meines Projekts, das für mich funktionieren wird
Syed Zahid Shah

1 Ich hatte das gleiche Problem ... Es wurde behoben, indem Folgendes hinzugefügt wurde: In Ihrer Poddatei: use_modular_headers! statt use_frameworks! Viel Glück! Ich hoffe das funktioniert bei dir!
Tejas

Antworten:


554

Bei mir hat keine der vorherigen Lösungen funktioniert. Wir haben festgestellt, dass in den Build-Einstellungen das Flag "Swift Standard Libraries immer einbetten" vorhanden ist, das auf YES gesetzt werden muss. Es war standardmäßig NEIN!

Build Settings > Always Embed Swift Standard Libraries

Nachdem Sie dies eingestellt haben, bereinigen Sie das Projekt, bevor Sie es erneut erstellen.

Für begeisterte Leser einige Erklärungen Der wichtigste Teil ist:

Setzen Sie die Build-Einstellung für eingebetteten Inhalt mit Swift-Code (EMBEDDED_CONTENT_CONTAINS_SWIFT) in Ihrer App auf YES (siehe Abbildung 2). Diese Build-Einstellung gibt an, ob das Produkt eines Ziels eingebetteten Inhalt mit Swift-Code enthält, und weist Xcode an, Swift-Standardbibliotheken in Ihre App einzubetten wenn auf JA gesetzt.

Geben Sie hier die Bildbeschreibung ein

Die Flagge wurde früher genannt Embedded Content Contains Swift Code


20
Hat auch für mich gearbeitet, also vielen Dank. Was mich verwundert ist, wenn ich einem Projekt schnellen Code hinzufüge, warum aktualisiert Xcode dies nicht automatisch? Es klingt nach einem vernünftigen Standardverhalten. Ich nehme an, auf diese Weise haben Sie mehr Kontrolle über eingeschlossene Bibliotheken usw.
PoL0

11
Für mich war "Asset Packs in Produktpaket einbetten"!
Matte.Car

17
Machen Sie danach eine Reinigung.
Aggressor

2
Danach eine Reinigung durchzuführen, hat mein Problem gelöst. Ich bin froh, dass ich die Kommentare überprüft habe! =]
Relequestual

75
Es heißt jetzt Always Embed Swift Standard Libraries.
Warpzit

136

Überraschenderweise habe ich mein Projekt (Shift + cmd + K) nur "bereinigt" und es hat funktioniert. Schien jedoch mit dem Zertifikat verwandt zu sein.


Clean ist sinnvoll, da die Aktualisierung der in einem Build verwendeten zwischengespeicherten Elemente erzwungen wird. Ich musste dies tun, weil ich gerade ein Signaturzertifikat aktualisiert habe. Ich habe einen sauberen und einen sauberen Build-Ordner erstellt (Option-clean).
Victor Engel

12
ha ja, es hat funktioniert. Ich hatte meine Zertifikate früher zurückgesetzt und diese Reinigung funktionierte wie ein Zauber.
Code Tree

GENIUS, hah, das war wahrscheinlich darauf zurückzuführen, dass ich von schnell 2 auf 3 aufgerüstet habe, ohne zwischendurch zu putzen, zumindest für mich
Fonix

2
Selbes Problem hier. Nach der Bearbeitung von Zertifikaten ist ein neuer Build erforderlich.
Marc

1
Selbes Problem hier . Sauber ist ein Muss. Zertifikate müssen nicht bearbeitet werden. Mein Problem gelöst.
Manish Nahar

95

Ich bekam diesen Fehler, als ich entfernte:

@executable_path/Frameworks

von Runpath Search Pathsin meinen Build-Einstellungen. Durch das Ersetzen wurde alles wieder repariert (Gott sei Dank für die Quellcodeverwaltung!)

Ich weiß nicht, wie es dort hingekommen ist, aber es scheint notwendig zu sein, damit eine Binärdatei ihre eingebettete Swift-Laufzeit findet.


2
Ein altes iOS6-Projekt wurde auf iOS7 und Swift aktualisiert und dieser Fehler wurde angezeigt. @ executeable_path / Frameworks hat das Problem behoben. Vielen Dank!
Lensflare

5
Ab Xcode 8b5 mussten für mich tatsächlich @loader_path/../FrameworksMacOS-Unit-Tests und @loader_path/FrameworksiOS-Unit-Tests hinzugefügt werden.
Pascal

Ja! Dies war der Fix, der es für mich in iOS 10 / Xcode 8 getan hat. Das Projekt begann unter iOS 2-3 als reines Ziel-C und wir fügen gerade etwas Swift hinzu.
TahoeWolverine

Das Hinzufügen dieses Problems hat den Fehler auch für mich behoben. Kennt jemand den vollen Grund dafür? Danke für die Hilfe.
Rod

Hat auch für mich gearbeitet! (XCode 8.2.1)
Der gute Riese

63

Für das Gerät müssen Sie außerdem das dynamische Framework zum Embedded binariesAbschnitt auf der GeneralRegisterkarte des Projekts hinzufügen .
Geben Sie hier die Bildbeschreibung ein


1
Irgendwelche Gedanken? @ Mustafa
user3751185

62
Die Antwort ist sehr vage.
Unheilig

1
Wieder antworten Sie ziemlich vage. Ich bin mir nicht ganz sicher, was das in Bezug auf das OP bedeutet.
Richie Marquez

2
Hat für mich gearbeitet. Das Hinzufügen nur zum Abschnitt "Verknüpfte Frameworks und Bibliotheken" hat nicht funktioniert.
Danchoys

5
Um dies zu erläutern: Wenn in der Fehlermeldung der Name eines Frameworks angezeigt wird (z. B. ein benutzerdefiniertes Cocoa Touch Framework, das Sie erstellt haben), fügen Sie das .framework nicht einfach in den Zielabhängigkeiten in Build-Phasen hinzu. Sie müssen es auch zu eingebetteten Binärdateien auf der Registerkarte Allgemein hinzufügen. Diese Antwort hat es für mich behoben.
Matthew Quiros

62

In Xcode 8 ist die Option für Embedded Content Contains Swift CodeOption nicht mehr verfügbar.

Es wurde umbenannt in "Always Embed Swift Standard Libraries = YES"

Geben Sie hier die Bildbeschreibung ein


Dies half mir bei einem Absturz auf WatchOS
Alex Bartiş

28

Ich denke, es ist ein Fehler, wenn Zertifikate direkt aus Xcode generiert werden. So lösen Sie (zumindest in Xcode 6.1 / 6A1052d):

  1. Besuchen Sie die Apple Developer-Website, auf der Zertifikate verwaltet werden: https://developer.apple.com/account/ios/certificate/certificateList.action
  2. Wählen Sie Ihre Zertifikate (die unter "Status" "Verwaltet von Xcode" anzeigen sollen) und "Widerrufen"
  3. Befolgen Sie die Anweisungen hier, um manuell ein neues Zertifikat zu generieren: https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html#//apple_ref/doc/uid/TP40012582-CH31- SW32
  4. Gehen Sie zu Xcode> Einstellungen> Konten> [Ihre Apple ID]> doppelklicken Sie auf Ihren Teamnamen> klicken Sie auf die Schaltfläche Aktualisieren, um Zertifikate und Bereitstellungsprofile zu aktualisieren

Das Tool "Zertifikate, Kennungen und Profile" von developer.apple.com hat nur beim Löschen und Erstellen nur in XCode für mich funktioniert und neue fehlerhafte Zertifikate erstellt.
Graham P Heath

4
Vergib mir meine Unwissenheit ... Was hat diese Antwort mit der gestellten Frage zu tun? Sie haben anscheinend eine andere Frage beantwortet. Oder genauer gesagt, Sie haben auf die gelöschte Antwort @ user3056783 geantwortet, die nur ein "Ich habe dieses Problem auch Kommentar" war.
JWW

Ich hatte gerade ein Zertifikat in Xcode generiert, daher war es möglicherweise dasselbe Problem, obwohl ich es beheben konnte, indem ich nur ein Clean ausführte.
pr1001

1
Diese Schaltfläche "Aktualisieren" wird jetzt in "Alle herunterladen" umbenannt ... :)
Thyselius

1
Das gleiche Problem in XCode 7. Das manuelle Generieren von Zertifizierungsdateien im Apple Developer Center hat das Problem für mich gelöst.
JonSlowCN

25

OK, teilen Sie hier eine andere Ursache für diesen Fehler. Ich habe ein paar Stunden gebraucht, um das zu klären.

In meinem Fall lautete die Vertrauensrichtlinie meines Zertifikats in Keychain Access Always Trust. Durch Zurücksetzen auf die Standardeinstellungen wurde das Problem behoben.

Um das Fenster mit den Zertifikatseinstellungen zu öffnen, doppelklicken Sie auf das Zertifikat in der Liste der Zertifikate für den Schlüsselbundzugriff.

Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein


Es hat auch bei mir funktioniert. Ich habe Pods verwendet, um PubNub- und AWS-SDKS einzuschließen. Ich habe versucht, verschiedene Methoden wie das Ändern von 'Runpath Search Paths' zu verwenden. Es wurde bereits auf den in der obigen Antwort genannten Wert gesetzt. Mit Ja markiert, um schnellen Code in Build-Einstellungen einzubetten, hat aber nicht funktioniert. Endlich hat diese Lösung bei mir funktioniert. Prost.
Ehsan

1
Hat für mich gearbeitet. Ich hätte so etwas nie vermutet. Vielen Dank.
Pierre-Yves

Ich habe jede Lösung darüber ausprobiert und dies war der Nagel im Sarg. Ich bin mir nicht sicher, ob ich eine Kombination von allen brauchte, aber dies war der Gewinner für mich. Um es klar auszudrücken, habe ich Folgendes getan: Bereinigen des Projekts, Einfügen von load_path in Runpath-Suchpfade, Verschieben des Verteilungszertifikats vom System in den Anmeldeschlüsselbund, Setzen Sie "Schnelle Einbettung schneller Standardbibliotheken" in "Ja", "Nicht vertrauenswürdig" des Zertifikats (setzen Sie es wieder auf System Standardvertrauen).
Nick Molyneux

Heilige Molly ... Vielen Dank!
Ethenyl

23

Ich hatte dieses Problem beim Ausführen meiner Swift-Tests (aber nicht meiner App). Es stellt sich heraus, dass der Test mehr als @executable_path/Frameworksin seiner Runpath Search PathsBuild-Einstellung für das Testziel enthalten musste. Das Festlegen der Runpath-Suchpfade auf Folgendes hat mir sehr geholfen:

$(inherited)
@executable_path/Frameworks
@loader_path/Frameworks

1
Ja das ist es! Konfrontiert dies für AFDateHelper.framework, Result.framework für diejenigen, die Google ihren Weg hierher finden. Ich erkannte, dass dies die Lösung war, da dadurch der Name des Frameworks geändert wurde, für das ich diesen Fehler erhalten hatte. Dies war ein Framework, das ich nicht berücksichtigt hatte, carthage copy-frameworksda es sich um eine sekundäre Abhängigkeit handelte (eine, die ein von mir verwendetes Framework hinzugefügt hatte )
Angad

2
Halleluja! Gott segne dich DonnaLea. Damit ist gerade ein dreistündiger Kampf beendet.
Adam Waite

Brillant. Genau das, wonach ich gesucht habe.
gran_profaci

21

Dieses Problem tritt in Xcode 10.2 erneut auf . Sie müssen das folgende Paket von Apple herunterladen und installieren. Es bietet Swift 5 Runtime-Unterstützung für Befehlszeilentools .

https://support.apple.com/kb/DL1998?locale=de_DE


Ich wurde dyld: Symbol nicht gefunden: _ $ s11SubSequenceSlTl. Dies funktioniert 👍
Aditya Deshmane

Großartig! Gelöst damit
Roran

Funktioniert! Dies erinnert mich an alte Windows-Programmierungen, als Sie das weiterverteilbare visuelle c ++msvcrt.dll
mcatach am

Vielen Dank! Versuchte alles andere und das war es.
Silverstar

17

Sie haben die festlegen , Runpath Search Pathsum @executable_path/Frameworkswie im folgenden Screenshot von Build - Einstellungen gezeigt:

Geben Sie hier die Bildbeschreibung ein

Wenn in Swift eingebettete Frameworks erstellt wurden, können Sie YESdie Build-Optionen festlegen Embedded Content Contains Swift Code.


1
JA, für ein schnelles Framework ist es erforderlich, "Eingebetteter Inhalt enthält schnellen Code" auf JA zu setzen
David

Ich habe ein Befehlszeilentool erstellt, das einige Dylibs verwendet, die zusammen mit dem Tool in einem lokalen Verzeichnis bereitgestellt werden sollen (und nicht in / usr / lib oder ähnlichem). otool -Ldenn diese Dylibs sagten mir, dass sie bereits @rpath/...für ihren eigenen Weg benutzten . Wenn Sie nun den Runpath-Suchpfad auf den Pfad dieses Ordners setzen, kann ich mein Tool ausführen und es findet die Dylibs, die in einem Ordner daneben gespeichert sind.
Thomas Tempelmann

Beim Versuch, ein Swift-Modul zu einem React Native-Projekt hinzuzufügen, wurde es stattdessen nicht gefunden @rpath/libswiftAppKit.dylib. Ein Problem führte mich zu der Erkenntnis, dass ich den Suchpfad hinzufügen musste: @executable_path/../Frameworks/basierend auf diesen Anweisungen . Ob dies nur für meine Projektstruktur gilt, kann ich nicht sagen. Bemerkenswerterweise musste ich DerivedData nicht bereinigen, damit diese Einstellung wirksam wurde!
Jamie Birch

16

Ich denke, Apple hat es bereits unter Abstürzen der Swift-App zusammengefasst, als versucht wurde, auf die Swift-Bibliothek libswiftCore.dylib zu verweisen

Zitiert aus technischen Fragen und Antworten QA1886 :

Die Swift-App stürzt ab, wenn versucht wird, auf die Swift-Bibliothek libswiftCore.dylib zu verweisen.

F: Was kann ich gegen den Ladefehler libswiftCore.dylib in der Konsole meines Geräts tun, der auftritt, wenn ich versuche, meine Swift-Sprach-App auszuführen?

A: Um dieses Problem zu beheben, müssen Sie Ihre App mithilfe von Codesignaturzertifikaten signieren, wobei die Organisationseinheit (Subject Organizational Unit, OU) auf Ihre Team-ID festgelegt ist. Alle Enterprise- und Standard-iOS-Entwicklerzertifikate, die nach der Veröffentlichung von iOS 8 erstellt wurden, verfügen über das neue Team-ID-Feld an der richtigen Stelle, damit Swift-Sprachanwendungen ausgeführt werden können.

Normalerweise wird dieser Fehler im Konsolenprotokoll des Geräts mit einer Meldung angezeigt, die einer der folgenden ähnelt:

[....] [deny-mmap] mapped file has no team identifier and is not a platform binary:
/private/var/mobile/Containers/Bundle/Application/5D8FB2F7-1083-4564-94B2-0CB7DC75C9D1/YourAppNameHere.app/Frameworks/libswiftCore.dylib

Dyld Error Message:
  Library not loaded: @rpath/libswiftCore.dylib

Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x0000000120021088
Triggered by Thread: 0

Referenced from: /private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/TestApp
Reason: no suitable image found. Did find:
/private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/Frameworks/libswiftCore.dylib: mmap() error 1 at address=0x1001D8000, size=0x00194000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/Frameworks/libswiftCore.dylib
Dyld Version: 353.5

Die neuen Zertifikate werden benötigt, um ein Archiv zu erstellen und Ihre App zu verpacken. Selbst wenn Sie über eines der neuen Zertifikate verfügen, funktioniert es nicht, ein vorhandenes schnelles App-Archiv zu kündigen. Wenn es mit einem Zertifikat vor iOS 8 erstellt wurde, müssen Sie ein weiteres Archiv erstellen.

Wichtig: Seien Sie vorsichtig, wenn Sie ein neues Enterprise Distribution-Zertifikat widerrufen und einrichten müssen. Wenn Sie ein interner Enterprise-Entwickler sind, müssen Sie darauf achten, dass Sie kein Verteilungszertifikat widerrufen, das zum Signieren einer App verwendet wurde, die einer Ihrer Enterprise-Mitarbeiter noch als Apps verwendet, die mit diesem Enterprise-Verteilungszertifikat signiert wurden wird sofort aufhören zu arbeiten. Dies gilt nur für Enterprise Distribution-Zertifikate. Entwicklungszertifikate können für Entwickler von Unternehmen / Standard-iOS sicher widerrufen werden.

Als AirSign Jungs geben Sie das Problem Wurzeln aus dem fehlenden OU - Attribute im Betreff - Feld des In-House - Zertifikats .

Betreff: UID = 269J2W3P2L, CN = iPhone Verteilung: Firmenname , OU = 269J2W3P2L , O = Firmenname , C = FR

Ich habe ein Unternehmensentwicklungszertifikat, das das Problem durch Erstellen eines neuen Zertifikats gelöst hat.


Nachdem ich viele, viele Stunden damit verbracht hatte zu verstehen, warum mein neues CI-Setup eine Beta-App (tatsächlich ein Unternehmenskonto) nicht ordnungsgemäß veröffentlichen konnte, stellte ich fest, dass compileBitcode in den Exportoptionen wahr sein muss.
Gderaco

10

Lassen Sie uns Projekt P importiert benutzerdefinierte Bibliothek L, dann müssen Sie L hinzufügen

P -> Build Phases -> Embed Frameworks -> +. Das ist für mich in Ordnung.

Geben Sie hier die Bildbeschreibung ein


9

Der einfachste und am leichtesten zu ignorierende Weg: Reinigen und wieder aufbauen.

Dies löste das Problem, nachdem die obigen Antworten ausprobiert wurden und nicht funktionierten.



6

Ändern Sie die Ressourcen für Copy Pods für das Ziel von:

"${SRCROOT}/Pods/Target Support Files/Pods-Wishlist/Pods-Wishlist-resources.sh"

zu:

"${SRCROOT}/Pods/Target Support Files/Pods-Wishlist/Pods-Wishlist-frameworks.sh"

1
Sofern dies nicht etwas anderes kaputt gemacht hat, war dies die Lösung für mich!
RealCasually

Was hat das Ding sonst noch kaputt gemacht? Können Sie mir helfen, die Antwort zu verbessern?
Bartłomiej Semańczyk

Es scheint zu funktionieren, mit der Ausnahme, dass "pod install" die Änderung überschreibt.
RealCasually

@ RealCasually Sie haben Recht Gibt es eine Möglichkeit zu verhindern, dass dies oder eine Problemumgehung überschrieben wird?
Bartłomiej Semańczyk

OH MEIN GOTT. Dies war das Problem für mich, nachdem ich 100 andere Dinge ausprobiert und 4 Stunden lang Affen gespielt hatte. Was genau passiert in framework.sh vs resources.sh?
Kennydust

6

Ich habe das Problem gelöst, indem ich die abgeleiteten Daten gelöscht habe und diesmal hat es richtig funktioniert. Versucht mit Xcode 7.3.1GM


Das Löschen meiner abgeleiteten Daten hat auch funktioniert, ich habe sowieso vorher eine Bereinigung (CMD + K) durchgeführt, nur für den Fall, und der Fehler starb einen schmerzhaften Tod!
Stuart P.

6

Diese Fehlermeldung kann auch beim Upgrade von Xcode (und anschließend auf eine neue Version von Swift) auftreten, und Ihr Projekt verwendet ein Framework, das mit einer älteren / früheren Version von Swift erstellt / kompiliert wurde.

In diesem Fall wird das Problem behoben, indem das Framework neu erstellt und hinzugefügt wird.


Dies ist mir passiert, von Xcode 9.2 auf 9.3. Obwohl ich es erst lange nach dem Upgrade entdeckt habe, funktioniert es mit Xcode 9.3 unbegrenzt weiter, solange das Projekt zuvor mit Xcode 9.2 erstellt wurde. Erst nach einer sauberen Kaufabwicklung habe ich dies entdeckt.
Svein Fidjestøl

Ich denke nicht, dass diese Antwort hoch genug bewertet wird. Wenn Sie Karthago verwenden und eine aktualisierte Version von Xcode installiert wird, müssen Sie Ihre Karthago-Bibliotheken neu erstellen, damit dieses Problem behoben wird.
Darren

5

Nachdem ich alles ausprobiert hatte, stellte ich schließlich fest, dass der Build nicht immer jedes Detail zu enthalten scheint. Vielleicht, um den Prozess zu beschleunigen ... Um eine GANZE Verpackung zu gewährleisten, bevor Sie auf einem Gerät laufen, führen Sie zuerst eine Reinigung durch: Shift-Cmd-K. Dann bauen mit: Cmd-B. Führen Sie es anschließend auf Ihrem Gerät aus. Einfach. Herzliche Grüße an alle netten Jungs an diesem Ort!


4

In meinem Fall war es nur der Name meines Ziels:

Ich habe es so umbenannt: MyApp.something und das gleiche Problem sind aufgetreten. Aber ich habe im Fenster Build-Einstellungen gesehen, dass mein Produktmodulname wie folgt geändert wurde: MyApp-etwas . Also habe ich den Punkt in meinem Zielnamen ( MyAppSomething ) entfernt und das Problem war behoben .


4

Nachdem ich alles ohne Erfolg ausprobiert hatte, funktionierte es für mich, es @executable_path/Frameworksaus dem zu entfernen Packaging section(ich weiß nicht, wie es überhaupt dazu kam, dort zu sein).

Geben Sie hier die Bildbeschreibung ein


Ist dies für den Framework-Pfad oder für den Hauptpfad für die Projekteinstellungen?
ZeeroCool77

Ich hatte ein Projekt statische Bibliothek und wollte schnell fw hinzufügen. Diese Anweisung hat zusammen mit Embedded Contain Contains Swift to Yes-Code alle Probleme behoben.
Mauron85

Dies scheint mein Projekt gebrochen zu haben.
UKDataGeek

3

Keine der Lösungen hat bei mir funktioniert. Durch einen Neustart des Telefons wurde das Problem behoben. Seltsam, aber es hat funktioniert.


3

Keine dieser Lösungen schien zu funktionieren, aber als ich die Erlaubnis des World Wide Developer-Zertifikats in änderte Use System defaults funktionierte es. Ich habe die Schritte und Screenshots in den unten stehenden Link aufgenommen

Ich würde Sie ermutigen, das Ticket wie hier erwähnt im Apple-Fehlerbericht zu protokollieren, da Apple diesen massiven Fehler wirklich beheben sollte: https://stackoverflow.com/a/41401354/559760


2

Xcode 7.2, iOS 9.2 auf einem Gerät, 9.0 auf einem anderen. Beide hatten den Fehler. Keine Ahnung, was sich dadurch geändert hat, aber die obigen Lösungen für den WWDR waren für mich richtig. Installieren Sie das Zertifikat und das Problem ist behoben.

https://forums.developer.apple.com/message/43547 https://forums.developer.apple.com/message/84846


Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - Aus der Rezension
Bartłomiej Semańczyk

2
Entschuldigung. Laden Sie das WWDR-Zertifikat herunter und öffnen Sie es, um es in Ihrem Schlüsselbund zu installieren. Zertifikat ist hier: developer.apple.com/certificationauthority/AppleWWDRCA.cer
HG123

2

Es gibt viele Antworten, aber vielleicht hilft meine Antwort jemandem.

Ich habe das gleiche Problem. Meine App funktioniert in Simulator einwandfrei, aber auf dem Gerät ist es abgestürzt, als ich die App lunches habe und wie oben einen Fehler ausgibt. Ich habe alle Antworten und Lösungen ausprobiert. In meinem Fall, Mein Projekt, habe ich mehrere Ziele. Ich habe aus Ziel A ein doppeltes Ziel B erstellt. Ziel B funktioniert einwandfrei, während Ziel A abgestürzt ist. Ich verwende für jedes Ziel unterschiedliche Bildelemente. Nach dem Suchen und Google habe ich etwas gefunden, das jemandem helfen könnte.

Die App stürzt nicht mehr ab, wenn ich den Namen von Startbildern für beide Apps ändere. zB Ziel A Launch Image Asset-Name LaunchImage A. Ziel B Mittagessen Name des Image-Assets LaunchImage B und ordnungsgemäß zugewiesen auf der Registerkarte Allgemein jedes Ziels. Meine Apps funktionieren einwandfrei.


2

Für mich schien das Erstellen einer MacOS-Befehlszeilen-Swift-App, die von Swift-Bibliotheken von Drittanbietern (z. B. SQLite) abhing, keine der oben genannten Lösungen zu funktionieren. Was funktioniert hat, war das direkte Hinzufügen des folgenden Pfads zu meinen Runpath-Suchpfaden in den Build-Einstellungen:

/Applications/Xcode.app/Contents//Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx/

Dabei wurde zur Laufzeit gewarnt, dass Xcode zwei Versionen von libswiftCore gefunden hat - was sinnvoll ist. Abgesehen davon, dass das Nichteinschließen dieser Zeile dazu führte, dass Xcode keine Versionen von libswiftCore fand.

Wie auch immer, das reicht für mich, auch wenn es nicht richtig erscheint - meine App ist nur ein Dienstprogramm, das ich nicht verteilen möchte, und zumindest läuft es jetzt!


Vielen Dank! Ich bin in deiner Situation und das hat auch bei mir funktioniert.
Joris Weimar

Ja, das ist die Lösung für CLI!
Maury Markowitz

1

Ich habe mehrere Versionen von Xcode gleichzeitig installiert. Das Framework wurde mit einer neueren Version von Xcode erstellt. Die App, die ich zu kompilieren versuchte, war mit einer älteren Version von Xcode. Als ich sowohl das Framework als auch die App mit derselben Version von Xcode bereinigt und kompiliert habe, haben die Dinge funktioniert.


1

Ich habe diesen ähnlichen Fehler beim Testen des Hinzufügens einer S3-Datei mithilfe von AWS-Diensten erhalten. Unten war der Fehler. dyld: Bibliothek nicht geladen: @ rpath / AWSAutoScaling.framework / AWSAutoScaling

Ich habe viel gesucht und obige Lösungen sind auch für mich nicht hilfreich. Der folgende Link hat mir geholfen, dieses Problem zu lösen.

https://forums.developer.apple.com/thread/21292

Damit soll dieses Problem behoben werden, indem der WWDR (Apple Worldwide Developer Relations Certification Authority) erneut heruntergeladen wird .


1

Ich bin auf Xcode 8.3.2. Für mich war das Problem, dass sich das AppleWWDRCA-Zertifikat sowohl im System- als auch im Anmeldeschlüsselbund befand. Beide wurden entfernt und dann nur zum Anmeldeschlüsselbund hinzugefügt. Jetzt läuft es wieder einwandfrei. 2 Tage verloren 😭


Können Sie nur eine etwas detailliertere Antwort ersparen? Wo finden Sie es (das Zertifikat) - ich denke, was Sie geschrieben haben, steht für Apple Worldwide Developer etwas ... aber wie lautet der vollständige Name? Wie füge ich es wieder hinzu, nachdem du es vollständig von allen Schlüsselketten entfernt hast? Wo finden Sie dieses Zertifikat?
Motti Shneor

1

Ich verwende Xcode 8.3.3 und Xcode 9.2. Die Lösung für mich bestand darin, meinen Standard-Xcode mit Xcode Select von 8 auf 9 zu ändern:

$ xcode-select --print-path

$ sudo xcode-select -switch /Applications/Xcode-9.2.app

Bearbeiten: Eigentlich schien hier zu helfen, dass Xcode 9.2 die abgeleiteten Daten aus Xcode 8.3.3 verwendete. Keine Lösung, aber es ermöglicht mir zumindest, meine Arbeit voranzutreiben.


Ich habe versucht, dass diese Probleme auftreten, aber wenn ich xcode beende und neu starte, funktioniert es. :). Netter Versuch
Abhishek Thapliyal

1

Wenn Sie einen Fehler wie diesen erhalten:

Das Bundle "YourFrameworkTests" konnte nicht geladen werden, da es beschädigt ist oder die erforderlichen Ressourcen fehlen. Versuchen Sie, das Bundle neu zu installieren. (dlopen_preflight (/ some / path /.../ YourFrameworkTests.xctest / YourFrameworkTests): Bibliothek nicht geladen: @ rpath / SomeOther.framework / SomeOther Referenziert von: / some / path / ...)

und verwenden Sie CocoaPods in Ihrem Framework, versuchen Sie dann, das zu bearbeiten Podfileund inherit! :search_pathsvom TestZiel zu entfernen , und führen Sie es auspod install erneut aus.

Weitere Informationen finden Sie unter https://github.com/CocoaPods/CocoaPods/issues/8868 .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.