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

Xcode中如何通过SPM将包更新至分支最新提交

问题分析与解决方案

这不是SPM的预期行为,Xcode对分支引用的Swift包存在本地缓存策略,导致新提交无法及时拉取,以下是几个高效的解决方法:

方法1:手动触发分支强制更新

  1. 通过Xcode菜单栏「File」→「Add Packages...」,或选中项目文件进入「Package Dependencies」标签页
  2. 找到目标Swift包,点击右侧「Options」按钮
  3. 确认「Dependency Rule」选择「Branch」,重新输入分支名(如feature/current-dev)后点击「Add Package」
  4. 返回项目右键点击该包,选择「Update Package」,Xcode会强制拉取分支最新提交

方法2:用终端命令绕过UI缓存

打开终端进入应用项目根目录,执行以下命令:

swift package update --verbose

该命令直接调用SPM核心逻辑拉取所有依赖的最新版本,绕过Xcode UI层的缓存限制。执行完成后回到Xcode等待项目重新索引即可。

方法3:明确配置依赖规则(长期方案)

如果需要持续跟踪分支最新提交,可在应用的Package.swift中明确声明分支依赖:

dependencies: [
    .package(url: "你的包仓库地址", branch: "feature/current-dev")
]

修改后执行swift package update,再回到Xcode刷新项目即可。

额外注意事项

  • Xcode 14.2的SPM存在部分缓存bug,频繁遇到此问题建议升级到Xcode 14.3及以上版本,苹果修复了多处SPM缓存相关问题
  • 无需频繁重置全局Package缓存(尤其是有大型依赖时),针对性的终端更新或分支重新配置效率更高

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 18:22:02