今是昨非

今是昨非

日出江花红胜火,春来江水绿如蓝

Xcode 14.3 Archive 失败

背景#

由于手机升级了 iOS 16.4,想要真机调试,Xcode 也要升级到 14.3, 于是就升级了一下。

升级 Xcode 14.3 之前,Debug 和 Archive 都没问题;升级 Xcode 14.3 之后,Debug 没问题,Archive 就报错。错误信息如下:


building file list ... rsync: link_stat "/Users/xxx/.../AFNetworking.framework" 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 /AppleInternal/Library/BuildRoots/9e200cfa-7d96-11ed-886f-a23c4f261b56/Library/Caches/com.apple.xbs/Sources/rsync/rsync/main.c(996) [sender=2.6.9]
Command PhaseScriptExecution failed with a nonzero exit code

解决#

搜索Xcode 14.3 Archive failure when running Cocoapods build script phase,可以看到 CocoaPods 已有 issue 在 Xcode 14.3 beta 时就有人发现了,结果 Xcode 14.3 正式版还是有问题。。。解决方案如下:

  1. 假如电脑上还有 Xcode 14.2,则把 Command Line Tools中改为 Xcode 14.2 编译,如下图:

    修改 Xcode Command Line Tools

  2. 如果使用 Xcode Cloud 有问题,可以修改 Xcode Version 为 Xcode 14.2, 如下图:

    Xcode Cloud 修改

  3. 假如电脑上只有一个最新的 Xcode 14.3,比如我。。。那么要如下修改:

    找到...-frameworks.sh 文件,替换

    source="$(readlink "${source}")"

    source="$(readlink -f "${source}")"

    很简单对吧,问题是,这个...-framework.sh 在哪?我也不知道。

    做法是:全局搜要替换的这段source="$(readlink "${source}")",然后再把它替换为正确的source="$(readlink -f "${source}")",再次编译即可成功。

参考#

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。