最近在搞 iOS 的混同工具链, 一个 xcode 上的插件, 遇到一个客户用的是 m1 电脑, 好家伙, 用 xcode 编译是胜利的, 用 shell 脚本 xcodebuild 也是胜利的. 唯独 jenkins 里调用本地 shell 脚本就是失败的, 报 not supported -fembed-bitcode, 这就感觉像是 xcode 混同工具链变成了原生工具链, 很是奇怪.
起初发现 jenkins 有可能是通过 java 调的本地 shell 脚本,jenkins 装置的 jdk 是 x86_64 版本的, 而 xcodebuild 是 arm64 和 x86_64 双架构的, 可能在编译间接 jdk 的 x86_64 切换成 xcodebuild 的 arm64 切出问题了.
如何解决这个问题在 xcodebuild 后面加 arch -arm64, 强制应用 arm64 架构 arch -arm64 xcodebuild -toolchain