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

Posted

技术标签:

【中文标题】Pods-resources.sh 权限在 iOS 项目中被拒绝【英文标题】:Pods-resources.sh Permission denied in iOS Project 【发布时间】:2013-11-10 07:24:36 【问题描述】:

我从客户那里得到了一个现有项目,我尝试使用 XCode 5.0 在我的 MAC 中运行它

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

我错过了什么?非常感谢任何帮助。

提前致谢。

【问题讨论】:

在 Flutter 中修复请参阅:***.com/a/65473410/10563627 我遇到了同样的问题 【参考方案1】:

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

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

【讨论】:

你的命令有效,但不是来自终端:P,我编辑 pods 脚本并使用上面的命令,现在它可以工作了 :) 谢谢老兄! 当我开始一个新项目时发生这种情况,在我的家用计算机上安装 pod,然后在我的笔记本电脑上继续该项目。有什么方法可以设置 frameworks.sh 默认权限,这样我每次在家庭计算机和工作计算机之间传输项目时都不必在终端中执行此操作?谢谢 运行上述命令和“sudo”解决了这个问题。 由于我在我的项目中使用 Subversion,这只是一个临时解决方案,因为当任何其他人最初签出此文件时,执行权限将再次丢失。使用svn propset svn:executable '*' <file> 来解决这个问题。 我试过这个命令,它没有工作。然后我用 sudo 尝试了这个命令,但也没有用。然后我在 xcode“PODS_ROOT = $PROJECT_DIR/Pods/”的构建设置中添加了一个用户定义的设置。这就是为我解决的问题。似乎 Permission denied 错误非常具有误导性,因为脚本实际上无法找到该文件。【参考方案2】:

试试这个,就像一个魅力!

rm -rf Pods/ Podfile.lock
pod install

【讨论】:

这对我有用,但不需要删除 Podfile.lock 文件。 这应该被标记为解决方案。 这是正确答案。当您创建 pod 时没有写入问题【参考方案3】:

在你的 podfile 所在的主项目目录中运行 pod install 应该可以解决问题

【讨论】:

【参考方案4】:

对我来说,解构所有 pod 然后重新安装它们就可以了:

pod deintegrate
pod install

【讨论】:

【参考方案5】:

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

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

请检查文件夹名称中是否有空格,然后在前面添加'\'

【讨论】:

【参考方案6】:

多次失败后,此步骤对我有用。

第 1 步:导航到包含 Pods-resources.sh 的文件夹的位置

第二步:打开终端类型cd,然后将包含Pods-resources.sh的文件夹拖到终端并回车。

第 3 步:运行此命令>> chmod a+x Pods-resources.sh

第 4 步:重启 xcode 并打开你的 xxx.xworkspace

第 5 步:享受

【讨论】:

在对这个问题进行了长时间的搜索之后,这个问题在我的情况下非常有效。一个更正是在运行命令时请遵循以下命令:chmod a+x Pods-ProjectName-resources.sh 很好听,很好的编码。【参考方案7】:

只需完全删除文件夹Pods-[Your_Project_Name] 并重新创建pod install

【讨论】:

【参考方案8】:

以上答案有效。但是,我遇到了同样的问题,但它反复出现。它处理在多台机器上签出相同的分支。它可以在一台机器上工作,而不是其他机器。我们使用 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 文件? 在 Pods > Target Support Files > Pods-[Target Name] 谢谢,已添加但仍收到 the following issue 。你还有什么建议? (附注 - here's the content of the script & here 它崩溃了) @tentmaking 我刚刚遇到了与 TFS 相同的问题。您能否提供更多关于您如何解决此问题的信息? @steventnorris 我们在每个 Pods-[Target] 目录中添加了一个文件 (.tpattributes)(位于 Pods > Target Support Files > Pods-[Target] 中,该条目在我上面的回答中可见。不确定您还需要什么其他信息。【参考方案9】:

我将此作为评论发布给 Kevins 的回答 https://***.com/a/19687227/3114383。但我想我不妨把它作为一个答案,因为人们会发现这样更容易,它解决了我的问题。它可能也适用于其他人:D

我尝试从 kevins answer 运行 chmod 命令,但没有成功。然后我用 sudo 尝试了这个命令,但也没有用。然后我在 xcode“PODS_ROOT = $PROJECT_DIR/Pods/”中的构建设置中添加了一个用户定义的设置。这就是为我解决的问题。似乎 Permission denied 错误非常具有误导性,因为脚本实际上无法找到该文件。

【讨论】:

嗨@CantThink!您能否举例说明您是如何添加此设置的? @Gehlen 您可以在 xcode 构建设置部分定义这些类型的设置。见medium.com/@kavithakumarasamy89/… 比你@CantThink,非常难以捉摸! 嗨@CantThinkOfAnyThing!是的,我做到了!但在我的情况下,我在竹子上配置 CI,问题是我试图在构建阶段访问 $TMPDIR,所以我无权访问。我只是删除它并工作!还是谢谢你! @Gehlen 很高兴我能帮上忙 :)【参考方案10】:

你可以试试这个:

pod deintegrate && pod cache clean --all && rm -rf Podfile.lock
pod install

它在我的项目中总是很有效。

【讨论】:

【参考方案11】:

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

    创建一个同名同包名的全新项目 在项目目录Pod init的终端中 在编辑器中打开 pod 文件 将旧项目 pod 文件复制并粘贴到新项目中 将所有文件和资源复制到新项目中 只需做pod install

【讨论】:

【参考方案12】:

我在使用 Pods-project-frameworks.sh 时遇到了同样的问题,通过从 Pods-project-frameworks.sh 文件中删除第一行 #!/bin/sh 来解决。

【讨论】:

【参考方案13】:

ios 文件夹中删除 Pods 文件夹和 Podfile.lock 然后尝试重新运行

【讨论】:

【参考方案14】:

就我而言 尝试这个 删除 pod.lockfile 清理所有构建

    吊舱解体 pod 安装 颤动运行

【讨论】:

【参考方案15】:

在构建阶段,您必须在命令前添加chmod +x。例如,在我的情况下,我在 [CP] Copy Pod Resources 阶段添加了以下命令,

chmod +x "$PODS_ROOT/Target 支持文件/Pods-MyApp/Pods-MyApp-resources.sh"

【讨论】:

以上是关于Pods-resources.sh 权限在 iOS 项目中被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

ionic在config里面配置ios各种权限

iOS开发中的这些权限,你搞懂了吗?

ios app实现定位功能 权限提示框应该在啥弹出

iOS10 权限适配

iOS App Developer 开发者权限一览

iOS 12:相机访问请求对话框显示默认权限