Pods-resources.sh Berechtigung in iOS Project verweigert


87

Ich habe ein vorhandenes Projekt von einem Client erhalten und habe versucht, dieses mit XCode 5.0 auf meinem MAC auszuführen

Aber ich bin mit diesem folgenden Fehler konfrontiert. Ich habe Cocoa Pods installiert, funktioniert aber immer noch nicht. Dieses Projekt läuft auf dem Computer anderer Entwickler einwandfrei. Ich brauche das dringend in meiner Maschine laufen.

Was fehlt mir? Jede Hilfe wird sehr geschätzt.

Danke im Voraus.

Geben Sie hier die Bildbeschreibung ein

Antworten:


164

Sie müssen das Skript ausführbar machen. Öffnen Sie das Terminal und führen Sie diesen Befehl aus:

chmod a+x "/Users/shovon0203/Desktop/My Work/oDesk/momenTOGO/MomenTOGO_iPhone/Pods/Pods-resources.sh"

2
Ihr Befehl funktioniert aber nicht von Terminal: P, ich bearbeite das Pods-Skript und verwende den obigen Befehl und jetzt funktioniert es :) Danke, Alter!
Waqas Haider Sheikh

1
Dies passiert mir, wenn ich ein neues Projekt starte, Pods auf meinem Heimcomputer installiere und das Projekt dann auf meinem Laptop fortsetze. Gibt es eine Möglichkeit, die Standardberechtigung für frameworks.sh festzulegen, damit ich dies nicht jedes Mal im Terminal tun muss, wenn ich mein Projekt zwischen meinem Heim- und meinem Arbeitscomputer übertrage? Danke
Aresz

6
Durch Ausführen des obigen Befehls zusammen mit "sudo" wurde das Problem behoben.
Saikiran K

Da ich Subversion für mein Projekt verwende, war dies nur eine vorübergehende Lösung, da beim ersten Auschecken dieser Datei durch eine andere Person die Ausführungsrechte wieder verloren gehen. Verwenden Sie svn propset svn:executable '*' <file>, um dies zu beheben.
Ndreisg

Ich habe diesen Befehl ausprobiert und er hat nicht funktioniert. Dann habe ich den Befehl mit sudo ausprobiert, was auch nicht funktioniert hat. Dann habe ich eine benutzerdefinierte Einstellung zu den Build-Einstellungen in xcode "PODS_ROOT = $ {PROJECT_DIR} / Pods /" hinzugefügt. Das hat es für mich behoben. Es scheint, dass der Fehler "Berechtigung verweigert" ziemlich irreführend war, da das Skript die Datei tatsächlich nicht finden konnte.
CantThinkOfAnything

36

Versuchen Sie dies, funktioniert wie ein Zauber!

rm -rf Pods/ Podfile.lock
pod install

2
Dies hat bei mir funktioniert, aber die Podfile.lockDatei muss nicht entfernt werden.
Fantini

18

Das Ausführen pod installim Hauptprojektverzeichnis, in dem sich Ihre Poddatei befindet, sollte das Problem lösen


10

Sie müssen das Skript ausführbar machen. Öffnen Sie das Terminal und führen Sie diesen Befehl aus:

chmod a+x "your_path(where show permission denied)"

Bitte überprüfen Sie, ob im Ordnernamen kein Leerzeichen vorhanden ist, und fügen Sie vorher '\' hinzu


6

Für mich war es der Trick, alle Pods zu deintegrieren und dann neu zu installieren:

pod deintegrate
pod install

5

Entfernen Sie einfach den Ordner Pods-[Your_Project_Name]vollständig und machen Sie frischpod install


5

Diese Schritte haben bei mir funktioniert, nachdem ich viele Male versagt hatte.

SCHRITT 1: Navigieren Sie zum Speicherort des Ordners mit Pods-resources.sh

SCHRITT 2: Öffnen Sie den Terminaltyp cd, ziehen Sie den Ordner mit Pods-resources.sh auf das Terminal und drücken Sie die Eingabetaste.

SCHRITT 3: Führen Sie diesen Befehl aus >> chmod a + x Pods-resources.sh

SCHRITT 4: Starten Sie xcode neu und öffnen Sie Ihren xxx.xworkspace

SCHRITT 5: genießen


1
Nach langer Suche nach diesem Problem funktioniert dieses in meinem Fall perfekt. Eine Korrektur ist, wenn Sie den Befehl ausführen, dann folgen Sie bitte diesen Anweisungen: chmod a + x Pods-ProjectName-resources.sh
Mohd Sadham

Gut zu hören, schöne Codierung.
Odwori

3

Die obige Antwort funktioniert. Ich hatte jedoch das gleiche Problem, aber es kam immer wieder vor. Es ging darum, dass dieselbe Filiale auf mehreren Computern ausgecheckt wurde. Es würde auf einer Maschine funktionieren und nicht auf den anderen. Wir verwenden TFS als unsere Quelle Kontrolle (es ist in Ordnung, können Sie beurteilen), die nicht gut spielt mit .sh, .pyetc. Dateien. Wir hatten eine hinzuzufügen .tpattributesDatei zu jedem Verzeichnis mit einem .shoder .pyDatei in ihm so laufen wir könnten .shund .pyals ausführbare Dateien.

Einträge in der .tpattributesDatei sehen folgendermaßen aus:

Pods-MyTarget-frameworks.sh:x
Pods-MyTarget-resources.sh:x

Dies bedeutet chmod +x "Pods-MyTarget-frameworks.sh"

Klappt wunderbar!


Wo haben Sie platziert: .tpattributesDatei?
el.severo

In Pods> Zielunterstützungsdateien> Pods- [Zielname]
Zeltherstellung

danke, hinzugefügt, aber immer noch das folgende Problem . Was schlagen Sie noch vor? (PS - hier ist der Inhalt des Skripts und hier stürzt es ab)
el.severo

@tentmaking Ich habe gerade das gleiche Problem mit TFS. Können Sie uns bitte etwas mehr Informationen darüber geben, wie Sie dies behoben haben?
Steventnorris

@steventnorris Wir haben jedem Pods- [Ziel] -Verzeichnis (unter Pods> Ziel-Support-Dateien> Pods- [Ziel] eine Datei (.tpattributes) hinzugefügt, die den Eintrag in meiner obigen Antwort enthält. Sie sind sich nicht sicher, welche anderen Informationen Sie benötigen.
Zeltbau

1

Ich habe dies als Kommentar zu Kevins Antwort https://stackoverflow.com/a/19687227/3114383 gepostet . Aber ich dachte, ich könnte es genauso gut als Antwort formulieren, weil die Leute es so leichter finden und es mein Problem löste. Es könnte auch für andere funktionieren: D.

Ich habe versucht, den Befehl chmod über die Antwort von kevins auszuführen, aber es hat nicht funktioniert. Dann habe ich den Befehl mit sudo ausprobiert, was auch nicht funktioniert hat. Dann habe ich eine benutzerdefinierte Einstellung zu den Build-Einstellungen in xcode "PODS_ROOT = $ {PROJECT_DIR} / Pods /" hinzugefügt. Das hat es für mich behoben. Es scheint, dass der Fehler "Berechtigung verweigert" ziemlich irreführend war, da das Skript die Datei tatsächlich nicht finden konnte.


Hallo @CantThink! Können Sie ein Beispiel dafür geben, wie Sie diese Einstellung hinzugefügt haben?
Gehlen

1
@Gehlen Sie können diese Art von Einstellungen im Abschnitt xcode build settings definieren. Siehe medium.com/@kavithakumarasamy89/…
CantThinkOfAnything

Als du @CantThink, sehr schwer fassbar!
Gehlen

Hi @CantThinkOfAnyThing! Ja, habe ich! Aber in meinem Fall habe ich CI auf Bambus konfiguriert und das Problem war, dass ich versucht habe, auf $ TMPDIR in Build-Phasen zuzugreifen, also habe ich keinen Zugriff. Ich entferne es einfach und es funktioniert! Trotzdem danke !
Gehlen

@Gehlen froh, dass ich helfen konnte :)
CantThinkOfAnything

0

Ich habe mich auch diesem Problem gestellt. Was ich getan habe ist:

  1. Erstellen Sie ein brandneues Projekt mit demselben Namen und demselben Paketnamen
  2. Im Terminal des Projektverzeichnisses Pod init
  3. Öffnen Sie die Pod-Datei in einem Editor
  4. Kopieren Sie die alten Projekt-Pod-Dateien und fügen Sie sie in die neue ein
  5. Kopieren Sie alle Dateien und Ressourcen in das neue Projekt
  6. Einfach machen pod install

0

Ich habe das gleiche Problem mit Pods-project-frameworks.sh gehabt, das durch Entfernen der ersten Zeile #!/bin/shaus der Datei Pods-project-frameworks.sh behoben wurde.

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.