You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Xcode环境中为Swift配置包仓库认证?

Swift包管理器Xcode凭据复用问题

问题描述

Swift包管理器(Swift Package Manager,SPM)新增了对托管二进制包仓库(registries)的支持。我已成功创建Swift包,并能通过本地Artifactory实例解析依赖。

通过命令行可直接配置Swift认证:

swift package-registry set --global "https://artifactory.com/api/swift/swift"
swift package-registry login "https://artifactory.com/api/swift/swift" --username=MyUser --password=MyPassword

执行后在Package.swift所在目录运行swift package resolve即可完成依赖解析,但Xcode无法复用已存储的凭据。请问能否配置Xcode使其集成的Swift版本使用这些认证凭据?若可以,具体操作步骤是什么?

解决方案

方法1:共享钥匙串凭据

SPM命令行存储的凭据默认在用户钥匙串中,但Xcode可能无法自动访问。可手动调整权限:

  • 打开「钥匙串访问」应用,搜索仓库地址https://artifactory.com/api/swift/swift找到对应凭据条目
  • 右键该条目选择「复制」,粘贴生成新条目
  • 进入新条目的「访问控制」标签页,添加Xcode.app和xcodebuild到允许访问的应用列表
  • 保存更改后重启Xcode,再尝试解析依赖

方法2:让Xcode使用系统Swift版本

Xcode默认使用内置Swift版本,可切换为命令行配置过的版本:

  • 打开Xcode,进入「Xcode > 设置 > 位置」
  • 在「命令行工具」下拉菜单中选择与命令行匹配的Xcode命令行工具版本
  • 重启Xcode后,它会复用该版本Swift的全局配置和凭据

方法3:在Xcode中手动配置认证

若前两种方法无效,可直接在Xcode中添加仓库认证:

  • 打开Swift包项目,进入「文件 > 添加包...」
  • 在搜索栏输入Artifactory仓库地址https://artifactory.com/api/swift/swift,点击「添加包」
  • 弹出认证窗口时,输入用户名和密码并勾选「保存到钥匙串」
  • 完成后Xcode会存储凭据,后续解析依赖时自动调用

内容的提问来源于stack exchange,提问作者DHummel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 20:12:35