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

如何在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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 00:12:30