Xcode构建失败,显示Cocoapods复制资源错误。

6

我最近在Xcode的Podfile中加入了GPUImage,如下所示:

pod 'GPUImage', '~> 0.1.4'

我认为我遇到的问题并不是GPUImage特定的,而是因为GPUImage是我添加了额外资源唯一的pod。

"Shell脚本调用错误,退出码23"导致我的构建失败。

./Pods/GPUImage/framework/Resources/lookup.png
./Pods/GPUImage/framework/Resources/lookup_amatorka.png
./Pods/GPUImage/framework/Resources/lookup_miss_etikate.png
./Pods/GPUImage/framework/Resources/lookup_soft_elegance_1.png
./Pods/GPUImage/framework/Resources/lookup_soft_elegance_2.png
building file list ... rsync: link_stat "/Pods/GPUImage/framework/Resources/lookup.png" failed: No such file or directory (2)
rsync: link_stat "/Pods/GPUImage/framework/Resources/lookup_amatorka.png" failed: No such file or directory (2)
rsync: link_stat "/Pods/GPUImage/framework/Resources/lookup_miss_etikate.png" failed: No such file or directory (2)
rsync: link_stat "/Pods/GPUImage/framework/Resources/lookup_soft_elegance_1.png" failed: No such file or directory (2)
rsync: link_stat "/Pods/GPUImage/framework/Resources/lookup_soft_elegance_2.png" failed: No such file or directory (2)
done
sent 29 bytes  received 20 bytes  98.00 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-42/rsync/main.c(992) [sender=2.6.9]
Command /bin/sh failed with exit code 23

我认为这是某种构建路径/ pod 配置的问题,但我花了很长时间自己尝试修复它,现在准备寻求帮助...真正让人烦恼的是,我甚至没有使用那些资源!如果我进入我的 Pods-resources.sh 文件并手动注释掉所有的 "install_resource" 行,一切都能够成功编译,我的项目也能够正常运行。当然,这只是一个临时/脆弱的解决方案,我想只是从源头上解决这个问题。

你有什么解决这个问题的想法吗?

我尝试过以下一些方法:

  • 清理 Xcode
  • 删除生成数据
  • 移除 GPUImage pod,然后重新安装

你已经成功实现了吗?你使用的是哪个版本的CP?我也遇到了同样的错误。我正在使用0.36.0.beta.2,而在0.36.0.beta.1上完全相同的项目可以正常工作。 - Juan Carlos Méndez
我没有让它正常工作,暂时放弃了。我的“解决方案”是在Pods-resources.sh文件中注释掉所有GPUImage的install_resource行。这对我们来说已经足够了,因为我们不需要GPUImage包含的任何那些png文件。 - MikeS
谢谢!我在不同的Pod上看到了问题,但会暂时采用相同的方法来解决。 - Juan Carlos Méndez
3个回答

13

我正面临与cocoapods beta(--pre)相同的问题。请重新安装稳定版本:

sudo gem uninstall --all cocoapods
sudo gem install cocoapods

1
这对我很有效。我成功地使用了0.36.0-beta1,问题出现在转移到0.36.0-beta2时,而回退到0.35.0是可行的。将在CocoaPods跟踪器中提交错误报告。 - Juan Carlos Méndez
别忘了在那之后重新安装Pod。 - Alexandre G

0
对我来说,这与Cfr的答案不同。我有一个旧的Pod文件,我从Podfile中删除了它,但是不知何故,它仍然在Schemes中。我从管理方案中将其删除后,问题得到解决。

0

看起来文件似乎在存储库中,您可以检查一下本地Pods目录。

此外,您可以尝试删除该目录并再次运行pod install


尝试删除pods文件夹/工作区文件并进行完全重新安装,但没有成功;仍然出现相同的错误。 - MikeS
指定路径下的文件是否存在?(./Pods/GPUImage/framework/Resources/lookup.png等) - Rivera
是的,在这些路径下所有文件都存在。 - MikeS
很明显,这些脚本无法找到它们。可能是PODS_ROOT、构建目录或其他变量没有正确设置。为了验证,请尝试将Pod添加到一个新项目中,应该可以正常工作。 - Rivera
我确实可以在新项目中让GPU图像工作...我的.xcodeproj文件中的PODS_ROOT设置为./Pods。只有资源文件没有复制。当注释掉时,GPUImage和其他pods都能正常工作。 - MikeS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接