Pods-resources.sh ถูกปฏิเสธสิทธิ์ในโครงการ iOS


88

ฉันมีโปรเจ็กต์ที่มีอยู่แล้วจากไคลเอนต์และฉันพยายามรันใน MAC ของฉันโดยใช้ XCode 5.0

แต่ฉันพบข้อผิดพลาดต่อไปนี้ ฉันติดตั้ง Cocoa Pods แต่ยังไม่ได้ผล โครงการนี้ทำงานได้ดีในเครื่องของนักพัฒนาซอฟต์แวร์รายอื่น ฉันไม่ต้องการให้สิ่งนี้ทำงานในเครื่องของฉัน

สิ่งที่ฉันขาดหายไป? ความช่วยเหลือใด ๆ จะได้รับการชื่นชมอย่างมาก

ขอบคุณล่วงหน้า.

ป้อนคำอธิบายภาพที่นี่

คำตอบ:


165

คุณต้องทำให้สคริปต์ทำงานได้ เปิดเทอร์มินัลและดำเนินการคำสั่งนี้:

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

2
คำสั่งของคุณใช้งานได้ แต่ไม่ใช่จาก Terminal: P ฉันแก้ไขสคริปต์พ็อดและใช้คำสั่งด้านบนและตอนนี้มันใช้งานได้ :) ขอบคุณมาก!
Waqas Haider Sheikh

1
สิ่งนี้เกิดขึ้นกับฉันเมื่อฉันเริ่มโปรเจ็กต์ใหม่ติดตั้งพ็อดบนคอมพิวเตอร์ที่บ้านจากนั้นทำโปรเจ็กต์ต่อบนแล็ปท็อป มีวิธีใดบ้างในการกำหนดสิทธิ์เริ่มต้น frameworks.sh เพื่อที่ฉันจะได้ไม่ต้องทำสิ่งนี้ในเทอร์มินัลทุกครั้งที่โอนโครงการระหว่างคอมพิวเตอร์ที่บ้านและที่ทำงาน ขอบคุณ
aresz

6
การเรียกใช้คำสั่งดังกล่าวพร้อมกับ "sudo" ช่วยแก้ปัญหาได้
Saikiran K

เนื่องจากฉันใช้ Subversion กับโปรเจ็กต์ของฉันนี่เป็นเพียงวิธีแก้ปัญหาชั่วคราวเพราะเมื่อบุคคลอื่นตรวจสอบไฟล์นี้ในขั้นต้นสิทธิ์ในการดำเนินการจะหายไปอีกครั้ง ใช้svn propset svn:executable '*' <file>เพื่อแก้ไขปัญหานี้
ndreisg

ฉันลองใช้คำสั่งนี้แล้วก็ไม่ได้ผล จากนั้นฉันลองใช้คำสั่งด้วย sudo ซึ่งใช้ไม่ได้เช่นกัน จากนั้นฉันเพิ่มการตั้งค่าที่ผู้ใช้กำหนดเองในการตั้งค่าบิลด์ใน xcode "PODS_ROOT = $ {PROJECT_DIR} / Pods /" นี่คือสิ่งที่แก้ไขสำหรับฉัน ดูเหมือนว่าข้อผิดพลาดในการปฏิเสธสิทธิ์อนุญาตค่อนข้างทำให้เข้าใจผิดเนื่องจากสคริปต์ไม่สามารถค้นหาไฟล์ได้
CantThinkOfAnything

38

ลองใช้งานได้เหมือนมีเสน่ห์!

rm -rf Pods/ Podfile.lock
pod install

2
สิ่งนี้ใช้ได้ผลสำหรับฉัน แต่ไม่จำเป็นต้องลบPodfile.lockไฟล์ออก
Fantini

18

การรันpod installในไดเร็กทอรีโปรเจ็กต์หลักที่ podfile ของคุณตั้งอยู่ควรแก้ปัญหาได้


10

คุณต้องทำให้สคริปต์ทำงานได้ เปิดเทอร์มินัลและดำเนินการคำสั่งนี้:

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

โปรดตรวจสอบว่าไม่มีที่ว่างในชื่อโฟลเดอร์จากนั้นเพิ่ม "\" ก่อน


8

สำหรับฉันการกำจัดพ็อดทั้งหมดจากนั้นการติดตั้งใหม่ทำให้เคล็ดลับ:

pod deintegrate
pod install


5

ขั้นตอนนี้ใช้ได้ผลสำหรับฉันหลังจากล้มเหลวหลายครั้ง

ขั้นตอนที่ 1: ไปที่ตำแหน่งของโฟลเดอร์ที่มี Pods-resources.sh

ขั้นตอนที่ 2: เปิดซีดีประเภทเทอร์มินัลจากนั้นลากโฟลเดอร์ที่มี Pods-resources.sh ไปที่เทอร์มินัลแล้วกด Enter

ขั้นตอนที่ 3: รันคำสั่งนี้ >> chmod a + x Pods-resources.sh

ขั้นตอนที่ 4: รีสตาร์ท xcode และเปิด xxx.xworkspace ของคุณ

ขั้นตอนที่ 5: สนุก


1
หลังจากค้นหาปัญหานี้มานานปัญหานี้ใช้ได้ดีในกรณีของฉัน การแก้ไขอย่างหนึ่งคือเมื่อรันคำสั่งโปรดปฏิบัติตามสิ่งนี้: chmod a + x Pods-ProjectName-resources.sh
Mohd Sadham

ยินดีรับฟังการเข้ารหัสที่ดี
Odwori

3

คำตอบข้างต้นใช้ได้ผล อย่างไรก็ตามฉันมีปัญหาเดียวกัน แต่ก็เกิดขึ้นอีก จัดการกับการเช็คเอาต์สาขาเดียวกันในหลายเครื่อง มันจะทำงานบนเครื่องเดียวไม่ใช่เครื่องอื่น เราใช้ TFS เป็นแหล่งที่มาของการควบคุมของเรา (ก็ ok คุณสามารถตัดสิน) ซึ่งไม่ได้เล่นอย่างกับ.sh, .pyฯลฯ ไฟล์ เราต้องเพิ่ม.tpattributesไฟล์ลงในทุกไดเร็กทอรีที่มี.shหรือ.pyไฟล์อยู่ในนั้นเพื่อให้เราสามารถรัน.shและ.pyไฟล์เป็นไฟล์ปฏิบัติการได้

รายการใน.tpattributesไฟล์มีลักษณะดังนี้:

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

นี่แปลว่า chmod +x "Pods-MyTarget-frameworks.sh"

ใช้งานได้เหมือนมีเสน่ห์!


คุณวางไว้ที่ไหน: .tpattributesไฟล์?
el.severo

ในพ็อด> ไฟล์สนับสนุนเป้าหมาย> พ็อด - [ชื่อเป้าหมาย]
เริ่มต้น

ขอบคุณเพิ่ม แต่ยังคงได้รับปัญหาต่อไปนี้ คุณแนะนำอะไรอีกบ้าง? (ป.ล. - นี่คือเนื้อหาของสคริปต์ & นี่มันขัดข้อง)
el.severo

@tentmaking ตอนนี้ฉันพบปัญหาเดียวกันกับ TFS โปรดให้ข้อมูลเพิ่มเติมเล็กน้อยเกี่ยวกับวิธีแก้ไขปัญหานี้ได้ไหม
steventnorris

@steventnorris เราได้เพิ่มไฟล์ (.tpattributes) ลงในไดเร็กทอรี Pods- [Target] แต่ละอัน (อยู่ใน Pods> Target Support Files> Pods- [Target] ซึ่งมีรายการที่เห็นในคำตอบของฉันด้านบนไม่แน่ใจว่าคุณต้องการข้อมูลอะไรอีก
เต็นท์

1

ผมโพสต์นี้เป็นความคิดเห็นที่ Kevins ตอบhttps://stackoverflow.com/a/19687227/3114383 แต่ฉันคิดว่าฉันอาจจะใส่เป็นคำตอบได้เช่นกันเพราะผู้คนจะพบว่ามันง่ายกว่านี้และมันช่วยแก้ปัญหาของฉันได้ อาจใช้ได้กับคนอื่นเช่นกัน: D

ฉันลองเรียกใช้คำสั่ง chmod จากคำตอบของ kevins แล้วก็ไม่ได้ผล จากนั้นฉันลองใช้คำสั่งด้วย sudo ซึ่งใช้ไม่ได้เช่นกัน จากนั้นฉันเพิ่มการตั้งค่าที่ผู้ใช้กำหนดเองในการตั้งค่าบิลด์ใน xcode "PODS_ROOT = $ {PROJECT_DIR} / Pods /" นี่คือสิ่งที่แก้ไขสำหรับฉัน ดูเหมือนว่าข้อผิดพลาดในการปฏิเสธสิทธิ์อนุญาตค่อนข้างทำให้เข้าใจผิดเนื่องจากสคริปต์ไม่สามารถค้นหาไฟล์ได้


สวัสดี @CantThink! คุณช่วยยกตัวอย่างวิธีเพิ่มการตั้งค่านี้ได้ไหม
Gehlen

1
@Gehlen คุณสามารถกำหนดการตั้งค่าประเภทนี้ได้ในส่วนการตั้งค่าการสร้าง xcode ดูmedium.com/@kavithakumarasamy89/…
CantThinkOfAnything

กว่าคุณ @CantThink เข้าใจยากมาก!
Gehlen

สวัสดี @CantThinkOfAnyThing! ใช่ฉันทำ! แต่ในกรณีของฉันฉันกำลังกำหนดค่า CI บนไม้ไผ่และปัญหาคือฉันพยายามเข้าถึง $ TMPDIR บน Build Phases ดังนั้นฉันจึงไม่สามารถเข้าถึงได้ .. ฉันแค่ลบมันออกและใช้งานได้! ขอบคุณต่อไป!
Gehlen

@Gehlen ดีใจที่ฉันช่วยได้ :)
CantThinkOfAnything

0

ฉันยังประสบปัญหานี้ สิ่งที่ฉันทำคือ:

  1. สร้างโครงการใหม่ที่มีชื่อเดียวกันและชื่อแพ็กเกจเดียวกัน
  2. ในเทอร์มินัลของ Pod init ไดเร็กทอรีโปรเจ็กต์
  3. เปิดไฟล์พ็อดในโปรแกรมแก้ไข
  4. คัดลอกและวางไฟล์พ็อดโครงการเก่าลงในไฟล์ใหม่
  5. คัดลอกไฟล์และทรัพยากรทั้งหมดไปยังโครงการใหม่
  6. เพียงแค่ทำ pod install

0

ฉันประสบปัญหาเดียวกันกับ Pods-project-frameworks.sh แก้ไขได้โดยลบบรรทัดแรก#!/bin/shออกจากไฟล์ Pods-project-frameworks.sh

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.