Swift Package项目中package.resolved文件位置及更名疑问
问题
- 项目使用Swift Package
- 无法在路径
[appName].xcodeproj/project.xcworkspace/xcshareddata/找到package.resolved(已尝试显示隐藏文件)
排查结果
- 路径
[appName].xcodeproj/project.xcworkspace/xcshareddata/swiftpm存在但为空,无.resolved文件 [appName].xcodeproj/project.xcworkspace/xcshareddata/swiftpm/configuration为空
环境
- macOS 13.0.1 (22A400)
- Xcode Version 14.1 (14B47b)
背景
原本想检查package.resolved是否已提交至git,但找不到该文件位置
疑问
- 在哪里可以找到Package.resolved文件?
- 该文件是否已更改为其他名称?
解答
1. Package.resolved的位置
在Xcode 14及后续版本中,Package.resolved的存储位置分两种场景:
- 通过.xcodeproj管理Swift Packages的项目:文件存放在用户专属的xcuserdata目录下,具体路径为:
[appName].xcodeproj/project.xcworkspace/xcuserdata/[你的系统用户名].xcuserdatad/swiftpm/Package.resolved - 纯Swift Package项目(无.xcodeproj文件):文件直接放在项目根目录,与
Package.swift同级。
2. 文件名称未变更
Package.resolved没有改名,只是Xcode 14之后调整了存储路径——从共享的xcshareddata目录移至用户专属的xcuserdata目录,这是导致你在原路径找不到它的核心原因。
补充说明
这个路径调整是为了分离用户本地的依赖解析状态与共享项目配置,避免多人协作时的冲突。如果需要将依赖状态纳入Git管理,可手动将Package.resolved从xcuserdata目录复制到xcshareddata/swiftpm目录下,之后Xcode会默认使用这个共享位置的文件。
内容的提问来源于stack exchange,提问作者user1046037
相关产品推荐
相关产品推荐

