Xcode添加Firebase包失败:认证失败,未提供凭据
问题:Xcode添加Firebase iOS SDK包时出现认证失败及版本修订找不到错误
环境信息
- Xcode:14.3(曾尝试14.2、14.1,问题依旧)
- macOS:13.3.1 (a) (22E772610a)
问题现象
尝试通过Swift Package Manager添加Firebase iOS包时,触发「authentication failed because no credentials were provided」错误,同时Package.resolved中提示修订版本“e88a0c9c82ed798e71ecb3e43e555f754b1c654c”找不到,已尝试以下操作但未解决:
- 切换Xcode中GitHub账号的HTTPS/SSH克隆方式,测试id_ed25519、id_rsa两种SSH密钥;
- 当前令牌可正常提交/推送代码至仓库,但无法添加SPM包;
- 多次重启Mac、Xcode,卸载重装多个Xcode版本,问题未缓解。
复现步骤
- 确认Xcode已绑定Apple ID和GitHub账号;
- 创建新Xcode项目;
- 按Firebase官方指引完成前期配置,添加GoogleService-Info.plist到项目;
- 点击「File - Add Packages」;
- 输入
git@github.com:firebase/firebase-ios-sdk.git,选择精确版本10.9.0; - 点击「Add Package」,无论切换哪种账号克隆设置均失败。
报错详情
Showing All Messages PackageIndex.findPackages failed: featureDisabled firebase-ios-sdk Updating from git@github.com:firebase/firebase-ios-sdk.git Updating from git@github.com:firebase/firebase-ios-sdk.git git@github.com:firebase/firebase-ios-sdk.git: The source control operation failed because the revision “e88a0c9c82ed798e71ecb3e43e555f754b1c654c” could not be found. Make sure a valid revision exists in the repository and try again. Resolving Package Graph Failed 5/17/23, 12:39 PM 5.6 seconds
解决方案
1. 改用HTTPS地址而非SSH地址添加包
Xcode的SPM对SSH认证的处理有时会和系统全局SSH设置冲突,尝试使用Firebase SDK的HTTPS地址添加:
- 在「Add Packages」中输入
https://github.com/firebase/firebase-ios-sdk.git,再选择版本10.9.0添加。
2. 重置Xcode的Source Control缓存
- 关闭Xcode;
- 删除Xcode的SPM缓存目录:
rm -rf ~/Library/Caches/org.swift.swiftpm rm -rf ~/Library/Developer/Xcode/DerivedData - 重新打开Xcode,再次尝试添加包。
3. 检查并更新GitHub令牌权限
- 打开GitHub账号的「Settings - Developer settings - Personal access tokens」;
- 确保当前用于Xcode的令牌拥有
repo权限; - 若权限不足,生成新的令牌并在Xcode的「Preferences - Accounts - GitHub」中替换旧令牌。
4. 手动修改Package.swift文件添加依赖
如果通过Xcode界面添加失败,直接修改项目的Package.swift(若为单项目无Package.swift,可先初始化SPM项目):
dependencies: [ .package(url: "https://github.com/firebase/firebase-ios-sdk.git", exact: "10.9.0") ], targets: [ .target( name: "YourTargetName", dependencies: [ .product(name: "FirebaseAuth", package: "firebase-ios-sdk"), // 根据需要添加其他Firebase组件 ] ) ]
修改后在Xcode中执行「File - Packages - Resolve Package Versions」。
5. 验证系统SSH配置(针对SSH方式)
- 打开终端,测试SSH连接GitHub是否正常:
若返回成功信息,再检查Xcode的SSH设置:打开Xcode「Preferences - Accounts - GitHub - Configure...」,确认选择的SSH密钥和系统默认一致;ssh -T git@github.com - 若SSH连接有问题,重新生成SSH密钥并添加到GitHub账号。
内容的提问来源于stack exchange,提问作者domcario
相关产品推荐
相关产品推荐

