2013-09-29 6 views
16

Ich habe Crashlytics Framework zu meinem Projekt hinzugefügt, mit einem Skript. Skript ausführen: Shell:/bin/sh Script: ./Crashlytics.framework/run KEY_HEREiOS xcode 5 crashlytics Fehler - Shell Script Aufruffehler - ./Crashlytics.framework/run: Berechtigung verweigert

Wenn ich versuche, das Projekt auszuführen, erhalte ich folgende Fehlermeldung:

Shell Script Invocation Fehler -. /Crashlytics.framework/run: Berechtigung verweigert

ABER wenn ich das Framework lösche und es wieder hinzufüge, läuft es gut ... EINMAL. Dann das nächste Mal bekomme ich den gleichen Fehler. Dann muss ich es löschen und neu hinzufügen, damit es nur einmal ausgeführt wird, und dann die gleiche Geschichte ...

Hat jemand eine Idee, wie Sie das beheben? Danke im Voraus.

Antwort

15

Behalten Sie Ihr Projekt und das Crashlytics-Framework in Dropbox? Ich habe bemerkt, dass Dropbox die gesetzten Berechtigungen ändert/zurücksetzt. Versuchen pausieren sync Dropbox und legen Sie dann die Berechtigungen von Crashlytics.framework/run auf 755.

UPDATE:
chmod 755 run nur vorübergehend für mich gearbeitet. Wie Hemal Shah in seiner Antwort schrieb, musste ich auch Git sagen, um run ausführbar zu machen. Sie können dies tun, indem Sie git update-index --chmod=+x run aufrufen und dies begehen. (über this answer).

Nachdem ich mein Projekt und das Crashlytics-Framework aus Dropbox entfernt hatte, gab es keine weiteren Probleme damit.

+0

ich Dropbox verwenden sie eigentlich Guter Punkt ich das versuchen wird, Dank –

+0

@ B-Man tat es Arbeite für dich? Es hat für mich getan. – flo

+0

Habe noch nicht damit gearbeitet, da ich gerade an einem anderen Projekt arbeite aber ich komme wieder zu dir :) –

6

Hemal von Crashlytics hier!

Ein paar Dinge könnten dies verursachen - stellen Sie sicher, dass Sie die neueste Version von Crashlytics verwenden. Wenn Sie auf die untere rechte Ecke klicken, sollten die Versionshinweise "- Arm64-Unterstützung für iPhone 5s hinzugefügt" anzeigen.

Vergewissern Sie sich, dass, wenn Ihr SCM es erfordert, das Programm "run" als ausführbar markiert wird!

Stellen Sie außerdem sicher, dass Sie nur eine Kopie von Crashlytics.app auf Ihrem System und eine Kopie von Crashlytics.framework in Ihrem Projekt haben und dass Sie mit derselben Kopie verlinken, die aufgerufen wird.

3

Eine einfache und schnelle Lösung besteht darin, Ihr Crashlytics-Framework zu löschen und es erneut in Ihr Projekt einzufügen. Dies wird das Problem beheben.

3

Ich wollte meine Antwort für den Fall einbeziehen, dass es jemand anderen gibt, der dieses ähnliche Problem hat, aber Crashlytics nicht verwendet. Ich benutze Twitter Fabric und bekomme den Fehler: ./Fabric.framework/run permission denied

Gehen zu Build-Phasen und das Löschen des Laufskripts behoben dies für mich.

Edit: Hinzufügen zu dem, was ich oben gesagt habe, löscht nur das Ausführen Skript das Problem nicht vollständig, da Sie noch eines benötigen, um mit Fabric/Crashlytics zu arbeiten. Am Ende musste ich mich mit Crashlytics in Verbindung setzen und das sagten sie mir (ähnlich wie @ singhSan's resp0nse):

"Sichern Sie sich durch das Setup, bis Sie auf den App-Auswahlpfeil in der oberen linken Ecke klicken können auf "+ Neue App" und wählen Sie Ihr Projekt. Dies wird als Reparatur-Modus und erhalten Sie die Run-Skript-Build-Phase, die Sie benötigen."

Problem gelöst

9

In Terminal nur zu Crashlytics.framework Ordner navigieren, wenn Sie Crashlytics verwenden, falls Sie bereits Stoff zu Fabric.framework Ordner gehen verwenden run es sein sollte, und Ändern von Berechtigungen durch das im Terminal ausgeführt wird:... chmod 755 run .

+3

Ich benötigte in einigen Fällen auch "chmod 755 uploadDSYM". –

+0

@Abdurrahman Mubeen Ali "Du hast Recht" Ich brauche auch "chmod 755 uploadDSYM" – Jamil

1

Run unter Befehle in Ihrem Projektordner: -...!

chmod +x Crashlytics.framework/run 
chmod +x Crashlytics.framework/uploadDSYM 
Verwandte Themen