Pods-resources.sh Отказано в разрешении в проекте iOS

87

У меня есть существующий проект от клиента, и я попытался запустить его на своем MAC, используя XCode 5.0.

Но я столкнулся с этой следующей ошибкой. Я установил Cocoa Pods, но все еще не работает. Этот проект отлично работает на машине другого разработчика. Мне очень нужна эта работа на моей машине.

Что мне не хватает? Любая помощь высоко ценится.

Заранее спасибо.

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

Тасним Алам Шовон
источник

Ответы:

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 /». Это то, что исправило это для меня. Кажется, что ошибка Permission denied была довольно вводящей в заблуждение, потому что скрипт фактически не смог найти файл.
CantThinkOfAnything
37

Попробуйте это, работает как шарм!

rm -rf Pods/ Podfile.lock
pod install
ИТАЛИЯ
источник
2
У меня это сработало, но удалять Podfile.lockфайл не нужно .
Fantini
18

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

Brycejl
источник
10

Вам нужно сделать скрипт исполняемым. Откройте терминал и выполните эту команду:

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

Пожалуйста, проверьте, нет ли места в имени папки, затем добавьте '\' перед

Амардип пувар
источник
6

для меня деинтеграция всех модулей и их переустановка помогли:

pod deintegrate
pod install
Мостафа Эль-Шазлы
источник
5

Просто удалите папку Pods-[Your_Project_Name]полностью и сделайте свежийpod install

Майк Кескинов
источник
5

Эти шаги сработали для меня после многих неудач.

ШАГ 1. Перейдите в папку, в которой находится Pods-resources.sh.

ШАГ 2: Откройте CD типа терминала, а затем перетащите папку, содержащую Pods-resources.sh, в терминал и нажмите Enter.

ШАГ 3: выполните эту команду >> chmod a + x Pods-resources.sh

ШАГ 4: перезапустите xcode и откройте xxx.xworkspace

ШАГ 5: наслаждайтесь

Odwori
источник
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
В «Модули»> «Целевые файлы поддержки»> «Модули» - [имя цели]
создание палаток
спасибо, добавлено, но по-прежнему возникает следующая проблема . Что еще вы предлагаете? (PS - вот содержание скрипта, и вот он вылетает)
el.severo
@tentmaking Я сейчас столкнулся с той же проблемой с TFS. Не могли бы вы предоставить немного дополнительной информации о том, как вы это исправили?
Стивентноррис 07
@steventnorris Мы добавили файл (.tpattributes) в каждый каталог Pods- [Target] (находится внутри Pods> Target Support Files> Pods- [Target], запись которого видна в моем ответе выше. Не уверен, какая еще информация вам нужна.
Изготовление палаток
1

Я разместил это как комментарий к ответу Кевинса https://stackoverflow.com/a/19687227/3114383 . Но я подумал, что могу сформулировать это как ответ, потому что людям это будет проще, и это решило мою проблему. Это может сработать и для других: D

Я попытался запустить команду chmod из ответа kevins, и это не сработало. Затем я попробовал команду с sudo, которая также не сработала. Затем я добавил пользовательскую настройку в настройки сборки в xcode «PODS_ROOT = $ {PROJECT_DIR} / Pods /». Это то, что исправило это для меня. Кажется, что ошибка Permission denied была довольно вводящей в заблуждение, потому что скрипт фактически не смог найти файл.

CantThinkOfAnything
источник
Привет, @CantThink! Не могли бы вы привести пример того, как вы добавили этот параметр?
Gehlen
1
@Gehlen Вы можете определить такие настройки в разделе настроек сборки xcode. См medium.com/@kavithakumarasamy89/...
CantThinkOfAnything
Чем ты, @CantThink, очень неуловимый!
Гелен
Привет, @CantThinkOfAnyThing! Да! Но в моем случае я настраивал CI на bamboo, и проблема заключалась в том, что я пытался получить доступ к $ TMPDIR на этапах сборки, поэтому у меня нет доступа ... Я просто удаляю его и работает! Все равно спасибо !
Гелен
@Gehlen рад , что я мог бы помочь :)
CantThinkOfAnything
0

Я тоже столкнулся с этой проблемой. Я сделал следующее:

  1. Создайте новый проект с тем же именем и тем же именем пакета
  2. В терминале каталога проекта Pod init
  3. Откройте файл пода в редакторе
  4. Скопируйте и вставьте старые файлы модуля проекта в новый
  5. Скопируйте все файлы и ресурсы в новый проект
  6. Просто делай pod install
Saneesh
источник
0

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

Дилмурат Абдукайюм
источник