iOS项目中拒绝Pods-resources.sh权限


87

我有一个来自客户端的现有项目,我尝试使用XCode 5.0在我的MAC中运行它

但是我面临着以下错误。我安装了Cocoa Pods,但仍然无法正常工作。该项目在其他开发人员的机器上运行良好。我非常需要在我的机器上运行它。

我缺少什么?非常感谢您的帮助。

提前致谢。

在此处输入图片说明

Answers:


164

您需要使脚本可执行。打开终端并执行以下命令:

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

2
您的命令有效,但在Terminal:P上不起作用,我编辑了pods脚本,并使用上述命令,现在可以正常使用了:)谢谢dude!
Waqas Haider Sheikh,2015年

1
当我开始一个新项目,在家用计算机上安装Pod,然后在笔记本电脑上继续该项目时,这种情况发生在我身上。有什么方法可以设置frameworks.sh默认权限,这样我每次在家用和办公计算机之间传输项目时都不必在终端中执行此操作?谢谢
aresz '16

6
将上面的命令与“ sudo”一起运行可以解决此问题。
Saikiran K

由于我在项目中使用Subversion,这只是一个临时解决方案,因为当任何其他人最初签出该文件时,执行权限将再次丢失。用于svn propset svn:executable '*' <file>解决此问题。
ndreisg

我尝试了此命令,但没有成功。然后我用sudo尝试了命令,但也没有用。然后,我在xcode“ PODS_ROOT = $ {PROJECT_DIR} / Pods /”中的构建设置中添加了一个用户定义的设置。这就是为我解决的问题。似乎“拒绝权限”错误极具误导性,因为该脚本实际上无法找到该文件。
CantThinkOfAnything

36

试试这个,像个魅力!

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)"

请检查文件夹名称中是否没有空格,然后在之前添加“ \”


6

对我来说,分解所有吊舱然后重新安装就可以了:

pod deintegrate
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:享受


1
在长期研究此问题之后,对于我而言,此功能非常理想。一种更正是在运行命令时执行的操作,然后请遵循以下命令:chmod a + x Pods-ProjectName-resources.sh
Mohd Sadham

很好听,很好的编码。
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"

奇迹般有效!


您放置的位置:.tpattributesfile?
el.severo

在Pods>目标支持文件> Pods- [目标名称]
帐篷制作中,2015年

谢谢,补充,但仍然出现以下问题。您还有什么建议?(PS -这里的脚本的内容崩溃)
el.severo

@tentmaking我现在正遇到与TFS相同的问题。您能否提供更多有关如何解决此问题的信息?
steventnorris

@steventnorris我们向每个Pods- [Target]目录中添加了一个文件(.tpattributes)(位于Pods> Target支持文件> Pods- [Target]中),上面的答案中有该条目。不确定您需要什么其他信息。
帐篷制作

1

我将此评论发布给Kevins回答https://stackoverflow.com/a/19687227/3114383。但是我认为我也可以将其作为答案,因为人们会发现这样更容易,并且解决了我的问题。它也可能对其他人有用:D

我试着从凯文斯回答运行chmod命令,它没有用。然后我用sudo尝试了命令,但也没有用。然后,我在xcode“ PODS_ROOT = $ {PROJECT_DIR} / Pods /”中的构建设置中添加了一个用户定义的设置。这就是为我解决的问题。似乎“拒绝权限”错误极具误导性,因为该脚本实际上无法找到该文件。


嗨@CantThink!您能否提供一个有关如何添加此设置的示例?
盖伦(Gehlen),

1
@Gehlen您可以在xcode构建设置部分中定义此类设置。参见medium.com/@kavithakumarasamy89/…–
CantThinkOfAnything,

比您@CantThink,非常难以捉摸!
盖伦

嗨@CantThinkOfAnyThing!是的,我做到了!但是就我而言,我是在Bamboo上配置CI的,问题是我试图在Build Phases上访问$ TMPDIR,所以我无权访问。不管怎样,谢谢你 !
盖伦

@Gehlen很高兴我可以提供帮助:)
CantThinkOfAnything,

0

我也遇到了这个问题。我所做的是:

  1. 使用相同的名称和相同的包名称创建一个全新的项目
  2. 在项目目录的终端Pod init中
  3. 在编辑器中打开pod文件
  4. 将旧的项目Pod文件复制并粘贴到新的Pod文件中
  5. 将所有文件和资源复制到新项目
  6. 简单地做 pod install

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.