Xcode 14.3打包失败问题

最近升级了Xcode 14.3,要打包提审的时候发现打包失败了,build run这些都是正常的。看了看报错信息。

1
2
3
PhaseScriptExecution [CP] Embed Pods Frameworks
...
failed: No such file or directory.

从错误信息可以看出,是在执行Cocoapods脚本的阶段出现了错误,找不到对应的库了。这在未升级 Xcode 之前是没有出现过的。所以首先想到的就是 Xcode 的bug。但是这也没办法去改,所以最直接的办法就是降版本,把Xcode退回到14.2,问题就解决了。

后来在苹果的论坛里面看到有人也遇到了同样的问题,有人提出了解决方案是更新所有生成的 xxx-frameworks.sh 文件,将 -f 标志添加到对 readlink 的调用。具体的操作方法就是修改项目中 Pods -> Targets Support Files -> Pods-XXX -> Pods-XXX-frameworks 中的第44行:

1
2
3
4
5
# 修改前
source="$(readlink "${source}")"

#修改后
source="$(readlink -f "${source}")"

经过尝试,在Xcode14.3下也能正常打包了。