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

Swift Package引用其他自定义Swift包时出现Module Not Found报错如何解决

Swift Package跨包依赖Module Not Found解决方案
  • 关联依赖到指定Target
    你当前仅在包全局的dependencies中声明了依赖规则,没有将依赖关联到需要使用它的编译Target上,这是最常见的报错原因。
    需要修改SwiftUI包的Package.swift中的targets配置,示例如下:
    原错误配置参考:
targets: [
    .target(
        name: "你的SwiftUI包名",
        dependencies: []),
]

修改后的正确配置:

targets: [
    .target(
        name: "你的SwiftUI包名",
        dependencies: [.product(name: "myswiftpackage", package: "myswiftpackage")]),
]

其中name参数填基础包对外暴露的产品名,package参数必须和全局依赖中声明的包名完全一致。

  • 检查基础包的公开配置
    1. 基础包的Package.swift中,需要将对外暴露的模块加入products列表,示例配置:
    products: [
        .library(
            name: "myswiftpackage",
            targets: ["myswiftpackage"]),
    ]
    
    1. 基础包中需要被外部调用的类、方法、属性必须声明为public/open访问级别,默认的internal级别仅允许同模块内访问。
  • 验证依赖版本有效性
    确认GitHub上的myswiftpackage仓库确实存在1.0.1及以上的正式版本tag。如果基础包有本地修改未推送打tag,可以临时将依赖规则改为.package(url: "https://github.com/myorg/myswiftpackage", branch: "main")先验证配置逻辑是否正常。
  • 清理缓存重试
    配置修改完成后如果仍报错,在Xcode中执行File > Packages > Reset Package Caches清理旧的依赖缓存,重新拉取依赖后再编译。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 10:45:02