Ich habe in meiner Anwendung eine statische Kakaobibliothek verwendet. Beim Kompilieren meiner Bibliothek wurde folgende Fehlermeldung angezeigt:
Shell Script invocation error:can't open input file:
/Users/sijuthomas/Library/Developer/Xcode/DerivedData/SCXML2-
bbttehupryhijphhjdiemcytkvgy/Build/Products/Debug-iphonesimulator/
libSCXMLParser.a (No such file or directory)
Command /bin/sh failed with exit code 1
Wie kann ich das beheben?
Ich hatte dieses Problem, weil ich den Schlüsselbundzugriff verweigert habe. Um es zu lösen, müssen Sie den Schlüsselbund öffnen. Klicken Sie dann auf das Schloss oben rechts auf dem Bildschirm, um es erneut zu sperren. Danach können Sie es archivieren und es funktioniert
quelle
Das Löschen von "Abgeleiteten Daten" hat bei mir funktioniert.
Gehen Sie in Xcode zu Datei> Arbeitsbereichseinstellungen> Klicken Sie auf den Pfeil neben dem Dateipfad für abgeleitete Daten und verschieben Sie den Ordner "Abgeleitete Daten" in den Papierkorb.
quelle
Anscheinend führen Sie ein Shell-Skript aus und es kann Ihre spezifische Datei nicht finden. Überprüfen
Target -> Build-Phases -> RunScript
Sie, ob Sie ein Skript ausführen.Sie können überprüfen, ob in Ihrer Build-Ausgabe (im Navigatorfenster) ein Skript ausgeführt wird. Wenn Ihr Skript etwas falsch macht, wird die Erstellungsphase gestoppt.
quelle
Ich hatte das gleiche Problem behoben. Führen Sie die folgenden Schritte aus, um das Problem in Xcode 6.4 zu beheben .
Bereinigen Sie nun Ihr Projekt (cmd + shift + k) und erstellen Sie Ihr Projekt.
quelle
Das Bereinigen des Build-Ordners (Cmd + Shift + Alt + K) hat bei mir funktioniert
quelle
1) Löschen Sie den Pod-Ordner und die .xcworkspace-Datei. 2) Öffnen Sie den Ordner in Terminal. 3) Geben Sie "pod install" ein.
quelle
Haben Sie die .a-Bibliothek zum xcode-Projekt hinzugefügt? (Projekt -> Erstellungsphasen -> Binärdatei mit Bibliotheken verknüpfen -> auf '+' klicken -> auf 'Andere hinzufügen' klicken -> Bibliothek auswählen)
Und vielleicht ist die Bibliothek nicht mit dem Simulator kompatibel. Haben Sie versucht, für iDevice (nicht für den Simulator) zu kompilieren?
(Ich habe bereits mit dem zweiten Problem gekämpft, ich habe eine Bibliothek, die nicht mit dem Simulator funktioniert, sondern mit einem realen Gerät, das kompiliert wird ...)
quelle
Für mich ist mein Zertifikat abgelaufen. Ich habe ein neues Zertifikat erstellt.
quelle
Ich habe versucht, Xcode (7) neu zu starten und nichts (das hast du versucht, es von der iOS-Entwicklung für mich aus- und wieder einzuschalten :-)). Ich habe es dann versucht, indem ich meine Box neu gestartet habe und das hat funktioniert.
In meinem Fall schlug das Skript beim Kopieren einer Datei von einem Speicherort an einen anderen fehl. Ich denke, es könnte damit zusammenhängen, dass Finder mit Schreibrechten für bestimmte Ordner schraubt.
quelle
Bei mir trat dieser Fehler auf, weil ich die Versionsnummer von 1 auf 1.0 und die Build-Nummer von 6 auf 1.1 geändert habe, als ich den Code aus dem Quellbaum gezogen habe. Ich habe es gerade zurück geändert und die Build-Nummer von 6 auf 7 geändert, und es hat gut funktioniert.
quelle
In meinem Fall war im Pfad Speicherplatz vorhanden, bei dem das Skript fehlgeschlagen ist. Wenn Sie Variablen wie verwenden
$PROJECT_DIR
oder$TARGET_BUILD_DIR
diese ersetzen"$PROJECT_DIR"
bzw. ersetzen. Nach dem"$TARGET_BUILD_DIR"
Hinzufügen von Anführungszeichen wurde mein Skript erfolgreich ausgeführt.quelle
Legen Sie einfach Ihr Skript in eine Datei und führen Sie diese Datei mit 2> / dev / null am Ende der Befehlszeile aus!
Auf diese Weise wird Ihr xcode-Build nicht angehalten, wenn ein Problem mit dem Befehl auftritt
In meinem Fall habe ich nur einen Befehl zum Deinstallieren meiner vorherigen Kopie der App von einem verbundenen iPhone ausgeführt, sodass ein Fehler auftreten kann, wenn das iPhone nicht vorhanden ist. Um es zu lösen:
$
mobiledevice uninstall_app com.my.app 2>/dev/null
quelle
Das einzige, was für mich funktioniert hat:
1) Löschen Sie abgeleitete Daten mit CleanMyMac: System Junk -> Xcode Junk -> Xcode Derived Data
Abgeleitete Daten mit CleanMyMac löschen
2) Dann in Xcode: Produkt -> Reinigen
quelle
Ich habe alles oben getan und eine Stunde mit dem Thema verbracht.
Versuchte alles oben und startete Xcode neu.
Endlich Computer neu gestartet und alles funktioniert wieder normal!
quelle
Ich werde Dinge auflisten, die ich getan habe, die für mich nicht funktioniert haben, und schließlich, was getan hat
Erstens hat die akzeptierte Antwort von Skript ausführen nur bei der Installation nicht funktioniert.
Das Löschen abgeleiteter Daten hat nicht funktioniert.
Was hat funktioniert:
Ich habe eine neue Build-Phase in Build-Phasen hinzugefügt
Neue Phase zum Kopieren von Dateien
Ziehen Sie das ausgewählte Framework per Drag & Drop in das Drop-Ziel
Setzen Sie das 'Ziel' auf Frameworks
Gutschrift wegen Kevin Le's Medium Post
quelle
Für diejenigen, die diese Option nicht deaktivieren möchten (z. B. mit Cocoapods), liegt das Problem möglicherweise am Zertifikat / Schlüssel.
Xcode (oder ein anderes Tool, das Sie verwenden, z. B. ein Befehlszeilentool) muss in der Lage sein, das Zertifikat / den Schlüssel aus dem Schlüsselbund zu verwenden. Öffnen Sie dazu den Schlüsselbund, suchen Sie das Zertifikat, das Sie verwenden möchten (normalerweise am
login
SchlüsselbundMy Certificates
), klicken Sie mit der rechten Maustaste auf den Schlüssel, wählen Sie ausGet Info
, klicken Sie auf dieAccess Control
Registerkarte und fügen Sie die App zur Liste hinzu.Wenn dies nicht funktioniert, entsperren Sie den Schlüsselbund.
Eine andere Option kann die Option Allen Anwendungen erlauben, auf dieses Element anstelle bestimmter Apps zuzugreifen, und / oder das Zertifikat / den Schlüssel in den
System
Schlüsselbund verschieben, der von allen Benutzerkonten auf diesem Mac gemeinsam genutzt wird.Stellen Sie außerdem sicher, dass das Zertifikat nicht abgelaufen ist.
quelle
1) Option:
2) Option: Pod-Update, saubere Daten ableiten,
quelle
In meinem Fall ist eines der Skripte (im Zusammenhang mit
SwiftGen
) während der Kompilierung fehlgeschlagen.Ich habe das Problem behoben, indem ich das entfernt
Pods
und dann erneut aktualisiert habe.Pods
Verzeichnis oder verwenden Siepod deintegrate
pod install
oderpod update
PS Es ist möglich, dass Ihre Abhängigkeit global ist und sich nicht in Pods befindet. In diesem Fall können Sie auch versuchen, diese Abhängigkeit neu zu installieren.
quelle
LESEN SIE DIESES, WENN SIE Crashlytics VERWENDEN UND DIESES PROBLEM HABEN ...
Ich habe das gleiche Problem wie oben
Command /bin/sh failed with exit code 1
genauer[31merror: Could not fetch upload-symbols settings: An unknown error occurred fetching settings.[0m
Die erste Lösung (die das Ausführungsskript nur bei der Installation aktiviert) ermöglichte es mir, mein Ziel im Simulator zu erstellen, aber ich konnte meinen Build nicht archivieren.
Ich habe dieses Archivproblem gelöst, indem ich Crashlytics auf Firebase aktiviert habe. Ich bin immer noch an Fabric gewöhnt, bei dem Crashlytics automatisch aktiviert wird. Nachdem ich Crashlytics in der Firebase-Konsole für die entsprechende GoogleService-Info.plist aktiviert hatte, konnte ich ohne diesen Fehler archivieren.
quelle
Entfernen Sie alle Pods und installieren Sie sie erneut.
Schritte:
pod install
pod install
quelle