如何在Xcode 15项目中正确添加本地Swift Package并使用其内容?
Swift Package添加后无法访问的排查方案
根据你提供的截图信息,以下是针对性的排查步骤:
1. 修正代码访问权限
从包内的Dummy类截图来看,当前类是默认的internal权限,仅包内可见。要让外部项目能访问,必须将类及需要公开的成员声明为public:
public class Dummy { public init() { // 必须显式声明public初始化器,否则外部无法实例化 } public func testMethod() { // 公开方法示例 } }
2. 检查Package.swift配置(对应包配置截图)
确保你的Package.swift正确配置了产物和目标:
import PackageDescription let package = Package( name: "MyPackage", platforms: [ .iOS(.v15) // 确保和主项目的部署目标版本一致 ], products: [ .library( name: "MyPackage", // 产物名称需和目标名称一致 targets: ["MyPackage"]), ], targets: [ .target( name: "MyPackage", dependencies: []), .testTarget( name: "MyPackageTests", dependencies: ["MyPackage"]), ] )
重点确认:
products模块类型是.library(静态或动态库均可)- 平台版本与主项目兼容,避免版本过低或过高
3. 确认依赖添加的有效性(对应项目依赖截图)
- 如果是本地包:检查添加时选择的本地路径是否正确,包文件是否被移动或删除
- 如果是远程仓库:确保包已推送到远程仓库,主项目依赖的分支/标签对应正确的代码版本
4. 清理Xcode缓存解决加载异常
从项目导航器无法展开包的情况来看,Xcode缓存大概率是诱因,执行以下操作:
- 清理项目:按下
Cmd + Shift + K - 清理构建文件夹:按下
Cmd + Option + Shift + K - 删除DerivedData:打开Xcode偏好设置 → Locations → DerivedData,找到当前项目的文件夹删除,重启Xcode后重新加载项目
5. 验证主项目与包的兼容性
检查主项目的部署目标(如iOS版本)是否不低于Swift Package中设置的平台版本,版本不兼容会导致包无法正常加载解析。
内容的提问来源于stack exchange,提问作者Andrei Herford
相关产品推荐
相关产品推荐

