我遇到了一个似乎是Xcode 14.3引入的bug,尽管它可能是由其他原因引起的。
在我的Build Phases中,我有一个叫做“[CP] Embed Pods Frameworks”的阶段。它调用一个名为 Pods-myapp-frameworks.sh 的脚本,当其中一个框架位于符号链接的文件夹中时,该脚本会失败。
构建日志中突出显示的文本显示了问题。它使用相对于符号链接的路径解决了符号链接,并且需要绝对路径。
该路径在脚本中的以下代码中解析(我的脚本副本中的第42 - 45行):
if [ -L "${source}" ]; then
echo "Symlinked..."
source="$(readlink "${source}")"
fi
- readlink* 默认为相对路径。添加 -f 会使其输出为绝对路径,一切正常:
if [ -L "${source}" ]; then
echo "Symlinked..."
source="$(readlink -f "${source}")"
fi
然而,这个脚本看起来像是已经生成的。我可以编辑它,当我重建时它不会被覆盖,但我怀疑下次我添加一个Pod或类似的东西时,我会回到原来的位置。
那么:这个脚本是从哪里来的?如果它被生成了,我怎么让它生成正确的 readlink 代码?这是Xcode中的一个bug还是我自己创建的?
1条答案
按热度按时间ht4b089n1#
更新到CocoaPods 1.12.1以获得修复。更多详情请访问https://github.com/CocoaPods/CocoaPods/pull/11828