我的自动化脚本打包命令是这样的:
xcodebuild archive -quiet \
ARCHS="arm64" \
ONLY_ACTIVE_ARCH=NO \
GCC_WARN_INHIBIT_ALL_WARNINGS=YES \
GCC_PREPROCESSOR_DEFINITIONS="AppRunEnv=0" \
-destination generic/platform=iOS \
-scheme Runner \
-workspace Runner.xcworkspace \
-configuration Release \
CODE_SIGN_IDENTITY="Apple Development: 小小小 (12345678)" \
DEBUG_INFORMATION_FORMAT=dwarf-with-dsym \
-archivePath "$WORKSPACE/build/Runner.xcarchive" \
-derivedDataPath "$WORKSPACE/build/" \
-verbose
这条命令解释如下: 在这个命令中:
xcodebuild archive表示将项目归档打包。-quiet选项指定不输出冗长的构建信息。ARCHS指定了构建的架构,这里使用的是arm64。ONLY_ACTIVE_ARCH设置为NO表示同时构建模拟器和真机架构。GCC_WARN_INHIBIT_ALL_WARNINGS设置为YES表示忽略所有警告。GCC_PREPROCESSOR_DEFINITIONS指定了一个预处理器定义,AppRunEnv=0表示将AppRunEnv定义为0。-destination指定了构建的目标平台和设备类型,这里指定为通用的iOS平台。-scheme指定要构建的Scheme名称,这里为Runner。-workspace指定项目的工作空间文件,这里为Runner.xcworkspace。-configuration指定要构建的配置,这里为Release。CODE_SIGN_IDENTITY指定签名证书的名称,这里为Apple Development: 小小小 (123456789)。DEBUG_INFORMATION_FORMAT设置为dwarf-with-dsym表示生成带有符号的调试信息。-archivePath指定要生成的归档路径,这里为$WORKSPACE/build/Runner.xcarchive。-derivedDataPath指定派生数据的路径,这里为$WORKSPACE/build/。-verbose选项指定输出详细的构建信息。
问题是之前没问题的,一直报错:
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/97f6331a-ba75-11ed-a4bc-863efbbaf80d/Library/Caches/com.apple.xbs/Sources/rsync/rsync/main.c(996) [sender=2.6.9]
找到一个解决方法:
There is an issue with Cocoapods now, because Xcode 14.3 is now using a relative path in its symlink for frameworks.
Either wait for release of Cocoapods version 1.12.1 or make this simple change in your Pods-APPNAME-frameworks.sh file:
Replace:
if [ -L "${source}" ]; then
echo "Symlinked..."
source="$(readlink "${source}")"
fi
with:
if [ -L "${source}" ]; then
echo "Symlinked..."
source="$(readlink -f "${source}")"
fi
Note that -f was added.
但这是不方便的。
- 升级cocoapods:
sudo gem install cocoapods
- 查看版本:
gem list|grep pod
cocoapods (1.11.3, 1.5.3)
cocoapods-core (1.11.3, 1.5.3)
cocoapods-deintegrate (1.0.5)
cocoapods-downloader (1.6.3)
cocoapods-plugins (1.0.0)
cocoapods-search (1.0.1)
cocoapods-stats (1.0.0)
cocoapods-trunk (1.6.0)
cocoapods-try (1.2.0)
- 删除旧版本 1.5.3 或者1.11.3 保留一个
sudo gem uninstall cocoapods --version 1.11.3
sudo gem uninstall cocoapods-core --version 1.11.3
发现版本居然又变成了1.5.3 降级了,这是什么鬼操作。 使用低版本的果然又是一个更加古老的错误:
ruby 和gem cocoapods 有着恶心的关系,不管了,我是之前烫过一遍不想再来第二次了。
直接用brew 安装吧。
brew install cocoapods
ok 还是brew好使
axiaoxiao@xiaoxiaoxiaodeMacBook-Pro ~ % which pod
/opt/homebrew/bin/pod
axiaoxiao@xiaoxiaoxiaodeMacBook-Pro ~ % pod --version
1.12.1
重新 xcodebuild archive
终于成功。