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
- 点击
File -> Project/Workspace Settings,找到Derived Data路径并删除对应项目的缓存文件夹; - 回到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的构建配置
- 打开
Product -> Scheme -> Edit Scheme,进入Build选项卡; - 确认测试Target的Build选项已勾选,且
DesignSystem、ModuleX的构建顺序在测试Target之前; - 检查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
相关产品推荐
相关产品推荐

