如何通过CLI为Xcode添加GitHub账号解决Bitrise私有SPM包拉取失败问题
解决方案1:Git全局凭证重写(推荐,无需修改Xcode配置)
直接通过Git的insteadOf配置自动注入身份凭证,所有调用Git的工具(包括Xcode/SPM)都会自动生效:
- 在Bitrise的Workflow中,xcodebuild执行步骤之前添加一个
Script步骤,填入以下内容:
# 以下两个变量请提前在Bitrise的Secrets配置中添加,不要硬编码在脚本里 GITHUB_USER=$YOUR_GITHUB_USERNAME_SECRET GITHUB_PAT=$YOUR_GITHUB_PAT_SECRET git config --global url."https://${GITHUB_USER}:${GITHUB_PAT}@github.com/".insteadOf "https://github.com/"
- 注意你的GitHub个人访问令牌(PAT)需要开启
reposcope权限即可,不要配置多余权限。
解决方案2:脚本写入Xcode账号配置
如果需要和本地操作逻辑一致,直接通过命令行写入Xcode的账号偏好设置:
在xcodebuild执行前添加Script步骤,填入以下内容:
GITHUB_USER=$YOUR_GITHUB_USERNAME_SECRET GITHUB_PAT=$YOUR_GITHUB_PAT_SECRET # 写入GitHub账号到Xcode配置 defaults write com.apple.dt.Xcode DVTDeveloperAccounts -array-add "<dict><key>identifier</key><string>com.apple.dt.developer.account.github</string><key>username</key><string>${GITHUB_USER}</string><key>authenticationToken</key><string>${GITHUB_PAT}</string></dict>" # 杀掉可能运行的Xcode相关进程,确保配置生效 killall Xcode xcodebuild 2>/dev/null || true
验证步骤
可以在脚本步骤后额外添加一步预解析依赖,提前排查问题:
cd 你的项目根目录 xcodebuild -resolvePackageDependencies -project 你的项目名.xcodeproj -scheme 你的构建Scheme
如果该步骤执行成功,后续构建流程就不会再出现私有SPM拉取失败的问题。
内容的提问来源于stack exchange,提问作者Brandon Stillitano
相关产品推荐
相关产品推荐

