Pods-resources.sh У проекті iOS відмовлено у дозволі


87

У мене є існуючий проект від клієнта, і я спробував запустити його у своєму MAC за допомогою XCode 5.0

Але я стикаюся з наступною помилкою. Я встановив стручки какао, але все ще не працює. Цей проект чудово працює на машині іншого розробника. Мені дуже потрібна ця робота в моїй машині.

Чого мені не вистачає? Будь-яка допомога дуже вдячна.

Заздалегідь спасибі.

введіть тут опис зображення

Відповіді:


165

Вам потрібно зробити сценарій виконуваним. Відкрийте термінал і виконайте цю команду:

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

2
ваша команда працює, але не з терміналу: P, я редагую скрипт pods і використовую вищезазначену команду, і тепер вона працює :) дякую чувак!
— 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

37

Спробуйте це, працює як шарм!

rm -rf Pods/ Podfile.lock
pod install

2
Це спрацювало для мене, але не потрібно видаляти Podfile.lockфайл.
— Fantini

18

Запуск pod installу головному каталозі проекту, де знаходиться ваш підфайл, повинен вирішити проблему


10

Вам потрібно зробити сценарій виконуваним. Відкрийте термінал і виконайте цю команду:

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

Будь ласка, перевірте, чи немає місця в назві папки, додайте "\" перед цим




5

Ці кроки спрацювали для мене після багаторазових невдач.

КРОК 1: Перейдіть до розташування папки, що містить Pods-resources.sh

КРОК 2: Відкрийте термінал типу cd, а потім перетягніть папку, що містить Pods-resources.sh, до терміналу та натисніть Enter.

КРОК 3: запустіть цю команду >> chmod a + x Pods-resources.sh

КРОК 4: перезапустіть xcode та відкрийте xxx.xworkspace

КРОК 5: насолоджуйтесь


1
Після довгих пошуків щодо цього питання, це спрацьовує у моєму випадку ідеально. Одним з виправлень є запуск команди, тоді, будь ласка, дотримуйтесь цього: chmod a + x Pods-ProjectName-resources.sh
— Мохд Садхам,

Приємно чути, приємне кодування.
— Odwori

3

Наведена відповідь працює. Однак у мене була та сама проблема, але вона повторювалася. Йшлося про те, щоб одна і та ж гілка виїхала на декілька машин. Це працювало б на одній машині, а не на інших. Ми використовуємо TFS в нашій системі управління версіями (це нормально, ви можете судити), який не грає добре з .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

In Pods> Target Support Files> Pods- [Target Name]
— наметів

спасибі, додано, але все одно отримуємо наступне питання . Що ще ви пропонуєте? (PS - ось вміст сценарію і тут він падає)
— el.severo

@tentmaking Я зараз стикаюся з тією ж проблемою з TFS. Чи можете ви надати трохи більше інформації про те, як ви це виправили?
— steventnorris

@steventnorris Ми додали файл (.tpattributes) до кожного каталогу Pods- [Target] (знайдений всередині Pods> Файли підтримки цілей> Pods- [Target], запис про який міститься у моїй відповіді вище. Не впевнений, яка інша інформація вам потрібна.
— наметів

1

Я опублікував це як коментар до відповіді Kevins https://stackoverflow.com/a/19687227/3114383 . Але я думав, що міг би дати це як відповідь, тому що людям так буде простіше, і це вирішило мою проблему. Це може спрацювати і для інших: D

Я спробував запустити команду chmod з відповіді kevins, і це не спрацювало. Потім я спробував команду з sudo, яка також не спрацювала. Потім я додав налаштування, визначені користувачем, до налаштувань збірки в xcode "PODS_ROOT = $ {PROJECT_DIR} / Pods /". Це те, що мені це виправлено. Здається, помилка "Дозвіл відмовлено" була досить оманливою, оскільки сценарій насправді не зміг знайти файл.


Привіт @CantThink! Не могли б ви навести приклад того, як ви додали це налаштування?
— Гелен,

1
@Gehlen Ви можете визначити такі параметри в розділі налаштувань збірки xcode. Дивіться medium.com/@kavithakumarasamy89/…
— CantThinkOfAnything

Чим ти @CantThink, дуже невловимий!
— Гелен,

Привіт @CantThinkOfAnyThing! Так! Але в моєму випадку я налаштовував CI на бамбук, і проблема полягала в тому, що я намагався отримати доступ до $ TMPDIR на етапах побудови, тому у мене немає доступу .. Я просто видаляю це і працює! В будь-якому випадку, дякую Вам !
— Гелен,

@Gehlen радий, що міг допомогти :)
— CantThinkOfAnything

0

Я також стикався з цим питанням. Що я зробив:

  1. Створіть абсолютно новий проект з тим самим іменем і однаковим ім'ям пакета
  2. У терміналі каталогу проекту Pod init
  3. Відкрийте файл pod в редакторі
  4. Скопіюйте та вставте старі файли стручків проекту в новий
  5. Скопіюйте всі файли та ресурси до нового проекту
  6. Просто зробіть pod install

0

Я зіткнувся з тією ж проблемою з Pods-project-frameworks.sh, вирішеною шляхом видалення першого рядка #!/bin/shз файлу Pods-project-frameworks.sh.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.