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

iOS单元测试编译报错:A-Swift.h中Module 'B'未找到

针对单元测试Target编译时Module 'B' not found的解决方案
  • 修正Objective-C测试文件的导入语句:你现在导入的是A-Swift.h,但Swift代码属于Target B,Xcode会为每个Target生成专属的[TargetName]-Swift.h桥接头文件,而非项目名。把导入语句改成:

    #import "B-Swift.h"
    
  • 检查单元测试Target的Build Settings配置:

    • 找到Defines Module,确保值为YES;
    • 确认Product Module Name,保证单元测试Target的模块名和Target B无冲突,且Target B的Product Module Name就是B;
    • 在Header Search Paths中添加$(BUILT_PRODUCTS_DIR)并设置为recursive,确保能找到Target B生成的头文件。
  • 确认单元测试Target的依赖配置:
    进入单元测试Target的Build Phases,在Target Dependencies里检查是否已添加Target B,确保编译测试代码前会先完成Target B的编译。

  • 清理编译缓存:
    用Command + Shift + K清理项目,再手动删除Derived Data(路径可在Xcode偏好设置的Locations面板找到),之后重新编译整个项目。

  • 验证Target B的测试可访问性设置:
    在Target B的Build Settings里找到Enable Testability,确保设置为YES,这样Swift测试文件里的@testable import B才能正常访问Target B的内部成员。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 12:42:12