Xcode解析SPM私有Github依赖提示SSH指纹验证失败如何处理
Xcode SPM私有SSH仓库指纹验证失败修复方案
报错信息:
获取远程仓库git@github.com:mayoff/Preamble.git时出错:
Server SSH Fingerprint Failed to Verify
该问题的根因是Xcode的运行上下文与终端shell上下文相互隔离,即使终端环境下SSH配置正常,Xcode也可能无法读取对应的信任凭证和密钥配置。可按以下顺序尝试修复:
- 方案1:配置Xcode使用系统命令行工具
- 打开Xcode设置,进入「Locations」标签页
- 在「Command Line Tools」下拉菜单中选择与终端环境匹配的命令行工具版本(通常为你当前使用的Xcode对应的版本)
- 重启Xcode后重新执行「Resolve Packages」操作
- 方案2:添加GitHub指纹到系统级信任列表
终端执行以下命令,将GitHub SSH指纹写入全局SSH配置,Xcode可直接读取该配置:sudo sh -c "ssh-keyscan github.com >> /etc/ssh/ssh_known_hosts"
执行完成后重启Xcode重试包解析即可。 - 方案3:检查Xcode GitHub账号配置
- 打开Xcode设置,进入「Accounts」标签页
- 确认列表中已添加你的GitHub账号且状态无异常
- 点击账号右侧的「Manage SSH Keys...」,确认你本地使用的SSH公钥已在列表中,缺失则手动导入即可。
- 方案4:临时切换为HTTPS拉取
若以上方案均无效,可将Package.swift中该依赖的SSH地址替换为HTTPS地址:
原地址:git@github.com:mayoff/Preamble.git
替换为:https://github.com/mayoff/Preamble.git
只要Xcode中已登录GitHub账号,HTTPS协议也可正常拉取私有仓库,不会触发指纹验证报错。
内容的提问来源于stack exchange,提问作者rob mayoff
相关产品推荐
相关产品推荐

