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

在Xcode中无法找到已发布到AWS CodeArtifact的Swift包求助

Swift包发布到AWS CodeArtifact后Xcode无法找到的问题

背景

  • 在AWS CodeArtifact创建了名为artifactsRepo的仓库
  • 未配置本地AWS CLI,通过手动方式使用获取的认证令牌和仓库端点完成Swift包仓库配置
  • 本地待发布的Swift包名为SimplePackage

已执行操作及结果

  1. 进入SimplePackage文件夹,执行登录命令:
swift package-registry login {artifactsrepourl}/login --token {auth token}

命令执行成功,返回:

Login successful.

Credentials have been saved to the operating system's secure credential store.
Registry configuration updated.

  1. 查看注册表配置文件.swiftpm/configuration/registries.json,内容如下:
{
  "authentication" : {

  },
  "registries" : {
    "[default]" : {
      "supportsAvailability" : false,
      "url" : "{mycodeartifactrepourl}"
    }
  },
  "version" : 1
}
  1. 执行默认注册表设置命令:
swift package-registry set {mycodeartifactrepo}
  1. 执行包发布命令:
swift package-registry publish myScope.SimplePackage 1.0.0

该命令无任何输出直接结束。查看CodeArtifact仓库的对应版本文件夹,已生成Package.swift文件和归档.zip文件,推测发布操作完成,但不确定.zip文件是否完整。

当前问题

在Xcode项目的添加依赖对话框中输入myScope.SimplePackage,无法搜索到该包。

排查方向

  • 验证CodeArtifact包元数据:检查CodeArtifact中该包的元数据是否完整,确认myScope.SimplePackage的标识符与发布时完全一致。
  • 配置Xcode的Swift包注册表:Xcode可能未自动读取SwiftPM的全局配置,需手动添加:
    • 打开Xcode偏好设置 → 账户 → 点击左下角+ → 选择Swift Package Registry
    • 输入CodeArtifact仓库的端点URL和有效认证令牌完成配置
  • 检查归档文件完整性:下载CodeArtifact中的.zip文件,解压后确认包含完整的Swift包结构(如Sources目录、Package.swift等),确保符合Swift Package规范。
  • 确认权限设置:确保用于Xcode访问CodeArtifact的身份(或认证令牌)拥有仓库的Read权限,避免因权限不足无法拉取包信息。
  • 用Swift CLI测试拉取:在终端执行swift package show myScope.SimplePackage,若CLI能获取到包信息但Xcode不行,重点排查Xcode的配置或缓存问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 04:05:03