Xcode构建iOS项目时提示“No such module 'XCTest'”,求解决方案
解决XCTest模块找不到的问题
以下是一些可尝试的排查和修复步骤:
1. 确认测试目标的Base SDK设置
- 打开项目设置,选中测试目标(注意不是主App目标)
- 查看Build Settings里的Base SDK,确保设置为对应iOS版本的SDK(比如iOS 17.x),不要选择“Latest macOS”或其他不兼容的SDK
2. 检查测试目标的Product Module Name
- 在测试目标的Build Settings中,找到Product Module Name,确保该名称未与主App模块名重复,且不包含特殊字符或空格
3. 验证测试文件的Target Membership
- 打开测试文件,查看右侧File Inspector中的Target Membership,确认仅勾选了对应的测试目标,未误勾选主App目标
4. 重置Xcode的Derived Data
- 打开Xcode顶部菜单栏的Xcode > Settings > Locations
- 找到Derived Data,点击旁侧箭头打开文件夹,删除整个文件夹后重启Xcode,重新构建项目
5. 检查测试目标的Framework Search Paths
- 在测试目标的Build Settings中,找到Framework Search Paths,确保包含以下路径(缺失则添加):
$(SDKROOT)/Developer/Library/Frameworks$(inherited)
- 路径设置保持非递归(non-recursive),避免引入不必要的冲突
6. 对齐测试目标与主App的Deployment Target
- 测试目标的Deployment Target需与主App目标版本一致,或不低于主App版本,版本不匹配可能导致框架无法正确加载
7. 重新添加XCTest.framework
- 先从测试目标的Link Binary With Libraries中移除XCTest.framework,再点击**+**按钮搜索XCTest重新添加,确保选择iOS平台版本(而非macOS等其他平台)
内容的提问来源于stack exchange,提问作者Bravman
相关产品推荐
相关产品推荐

