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

Xcode 14使用SPM时提示No Such Module 'ModuleX'问题求助

解决Xcode 14测试Scheme提示“No Such Module 'ModuleX'”的问题

针对你升级Xcode 14后测试Scheme出现模块找不到的问题,结合你的场景(常规构建正常、Package配置正确),可以尝试以下几个解决方案:

  • 检查测试Target的依赖关联
    打开Xcode项目导航,找到对应的测试Target,进入Build Phases -> Link Binary With Libraries,确认是否已添加DesignSystem库。如果测试代码直接引用了ModuleX,也可以手动添加该模块。另外,检查Build Settings -> Framework Search Paths,确保路径包含Swift Package解析后的ModuleX所在目录。

  • 清理缓存并重新解析Package

    1. 点击File -> Project/Workspace Settings,找到Derived Data路径并删除对应项目的缓存文件夹;
    2. 回到Xcode,执行File -> Packages -> Reset Package Caches,等待缓存重置完成后,再运行测试Scheme。
  • 调整Swift Tools版本
    Xcode 14默认适配Swift Tools 5.7,而你当前使用的是5.6。可以在Package.swift顶部修改工具版本:

    // swift-tools-version:5.7
    let package = Package(
        // 原配置内容
    )
    

    修改后关闭并重新打开项目,让Xcode重新加载Package配置。

  • 检查测试Scheme的构建配置

    1. 打开Product -> Scheme -> Edit Scheme,进入Build选项卡;
    2. 确认测试Target的Build选项已勾选,且DesignSystem、ModuleX的构建顺序在测试Target之前;
    3. 检查Run配置中的Build Configuration是否和常规构建一致(比如均为Debug),避免因配置差异导致依赖解析失败。
  • 手动为测试Target添加依赖
    如果测试Target直接依赖ModuleX,可以在Package.swift的测试Target中明确添加依赖:

    targets: [
        .target(
            name: "DesignSystem",
            dependencies: [
                .product(name: "ModuleX", package: "components-ios")
            ]
        ),
        .testTarget(
            name: "YourTestTarget",
            dependencies: [
                "DesignSystem",
                .product(name: "ModuleX", package: "components-ios")
            ]
        )
    ]
    

    保存后重新加载Package,再尝试运行测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 15:45:08