7

Crashlytics als Cocoapod bricht für unser CI-System. Im Grunde haben wir ein Rakefile, das einige Aufgaben ausführt, um ein Pod-Update durchzuführen, unsere App zu erstellen und Tests usw. durchzuführen. Vor kurzem haben wir jedoch auf Fabric & Crashlytics als Cocoapods umgestellt. Jetzt ist unsere Automatisierungs Build während der pod-Update-Phase mit dem folgenden Fehler Fehler:cocoapods [!] Fehler beim Installieren von Crashlytics

[!] Error installing Crashlytics 
[!] /usr/bin/curl -f -L -o /var/folders/fx/hfsy48h13839_jm5wmkp5mx00000gn/T/d20151009-74266-1p34ehf/file.zip https://kit-downloads.fabric.io/ios/com.twitter.crashlytics.ios/3.3.4/com.twitter.crashlytics.ios-default.zip --create-dirs 

    % Total % Received % Xferd Average Speed Time Time  Time Current 

           Dload Upload Total Spent Left Speed 


    0  0 0  0 0  0  0  0 --:--:-- --:--:-- --:--:--  0 
    0  0 0  0 0  0  0  0 --:--:-- --:--:-- --:--:--  0curl: (6) Could not resolve host: kit-downloads.fabric.io 
Update all pods 
Analyzing dependencies 

Der Arbeitsbereich wird nicht erzeugt, da Crashlytics installiert werden kann. Ich glaube, es gibt zwei Probleme auftreten: 1. Crashlytics Pod versucht herunterladen und schreiben in eine Systemdatei, dass es keine Berechtigung zum Schreiben bei der Ausführung dieses Befehls in Skriptdatei (wir wollen nicht das Skript ausführen mit als sudos) 2. Dieser Endpunkt ist in der Tat ein bisschen flockig.

Wenn ich diesen Curl-Befehl manuell im Terminal ausführen, ist es meist erfolgreich und lädt die Datei herunter. Manchmal kann dieser Curl-Befehl den Host jedoch nicht auflösen. Aber ich habe auch zwei virtuelle Maschinen, die diesen curl-Befehl erfolgreich ausführen können, ohne sudo usr/bin/curl/... auszuführen, aber eine unserer VMs (die ein exakter Klon eines anderen ist) benötigt sudo usr/bin/curl. .. um Schreibzugriff auf diesen Ordner zu bekommen.

Wenn ich laufen, dass nur, dass curl Befehl in einem Rakefile ich diese: $ Rake Sie haben keine Berechtigung/var/Ordner/fx zu erstellen.

Also noch einmal, ich glaube das Problem ist, dass der Versuch, pod update von der Rakefile zu tun, da es eine Datei schreiben Berechtigungen aufgrund Crashlytics versucht, eine Datei in das System/var/Ordner, die nicht erlaubt ist herunterzuladen. Darüber hinaus ist dieser Endpunkt möglicherweise ebenfalls unzuverlässig und kann den Host nicht auflösen.

Im Grunde ist die Problemumgehung, den curl-Befehl manuell im Terminal auf unserem CI-Gerät auszuführen, damit er heruntergeladen und installiert wird. Jetzt funktioniert jedes zukünftige Pod-Update, SOLANGE WIR AUF DER GLEICHEN VERSION VON CRASHLYTICS BLEIBEN. Also froren wir vorerst unsere Crashlytics-Installation auf 3.3.4.

Jeder, der auf ein ähnliches Problem gestoßen ist, hat einen Rat, was sie denken, oder hat einen besseren Vorschlag, wie man das beheben kann?

+1

Es stellt sich heraus, dass sich der curl-Befehl häufig ändert, möglicherweise so oft wie die einzelnen Pods aktualisiert werden. Die einzige Problemumgehung, die wir finden konnten, bestand darin, den/var/folders/fx Lese-/Schreibzugriff für alle Benutzer hinzuzufügen, was alles andere als ideal ist. ** sudo chmod -Ra + rw/var/folders/fx/** – n8tr

+0

Als Update haben wir die Verwendung der Fabric- und Crashlytics-Cocoapoden aufgegeben und die Frameworks nur manuell importiert, da wir weiterhin in zufälliges CC laufen Fehler aktualisieren, die dem ursprünglichen Post ähnelten. – n8tr

+0

Wie haben Sie das Problem gelöst, ich sehe auf der Cocoapod-Website die Crashlytics Cocoapoden im September 2016 aktualisieren – nivritgupta

Antwort

2

Meine Lösung war das Verzeichnis Pods im Repository zu löschen(). Auf diese Weise wurden alle Schoten entfernt, sogar Crashlytics. Danach konnte ein pod install erfolgreich ausgeführt werden. Ich habe jetzt Crashlytics 3.8.6 installiert.