HCRM博客

为什么iOS单元测试会报错?

iOS 单元测试报错问题解析

常见问题与解决方案

1、CocoPods 管理的库文件找不到头文件

为什么iOS单元测试会报错?-图1
(图片来源网络,侵权删除)

解决方法

修改 Podfile 并重新执行pod install

在项目的 Build Settings 中,将 Head Search Paths 设置为${SRCROOT},查找方式选择 recursive。

2、找不到 Framework 文件

解决方法

在 Run Search Path 添加 $(FRAMEWORK_SEARCH_PATHS)。

为什么iOS单元测试会报错?-图2
(图片来源网络,侵权删除)

如果仍无法解决,尝试清除 Xcode 缓存。

3、运行 UITest 时显示黑屏

解决方法

更换 USB 接口。

4、编译错误:Undefined symbols for architecture armv7s

解决方法

为什么iOS单元测试会报错?-图3
(图片来源网络,侵权删除)

在目标设置中,将 Symbols Hidden by Default 设置为 No。

5、XCTest 框架无法引入

解决方法

确保在 Podfile 中引入相关依赖,例如pod 'AFNetworking', '~> 3.0'

6、找不到第三方库或者 pod 的头文件

解决方法

在测试 target 的 Build Settings 中搜索 Header Search Paths,然后添加 pods 的头文件路径。

7、Include of nonmodular header inside framework module

解决方法

在测试 bundle 的 Build Settings 中,将 Allow Nonmodular Includes In Framework Modules 设置为 YES。

8、App 调试报找不到 XCTest

解决方法

确保精确指定需要的文件路径,或规范单元测试文件命名并在 pod 配置中排除。

9、第一次执行单元测试时报找不到类型

解决方法

对所有相关文件引入对应头文件。

10、项目报错 Library not loaded: @rpath/XCTest.framework/XCTest

解决方法

在报错的 Target 中的 Building settings 中 FRAMEWORK_SEARCH_PATHS 添加 $(PLATFORM_DIR)/Developer/Library/Frameworks

问题描述 解决方案
CocoPods 管理的库文件找不到头文件 修改 Podfile 并重新执行 pod install;设置 Head Search Paths 为 ${SRCROOT}
找不到 Framework 文件 添加 $(FRAMEWORK_SEARCH_PATHS);清除 Xcode 缓存
运行 UITest 时显示黑屏 更换 USB 接口
编译错误:Undefined symbols for architecture armv7s 在目标设置中将 Symbols Hidden by Default 设置为 No
XCTest 框架无法引入 确保在 Podfile 中引入相关依赖
找不到第三方库或者 pod 的头文件 在测试 target 的 Build Settings 中添加 pods 的头文件路径
Include of nonmodular header inside framework module 将 Allow Nonmodular Includes In Framework Modules 设置为 YES
app 调试报找不到 XCTest 精确指定需要的文件路径;规范单元测试文件命名并在 pod 配置中排除
第一次执行单元测试时报找不到类型 对所有相关文件引入对应头文件
项目报错 Library not loaded: @rpath/XCTest.framework/XCTest 在 FRAMEWORK_SEARCH_PATHS 添加 $(PLATFORM_DIR)/Developer/Library/Frameworks

FAQs

1、Q: CocoaPods 管理的库文件找不到头文件怎么办?

A: 修改 Podfile 并重新执行pod install,然后在项目的 Build Settings 中,将 Head Search Paths 设置为${SRCROOT},查找方式选择 recursive。

2、Q: 运行 UITest 时显示黑屏怎么办?

A: 尝试更换 USB 接口。

分享:
扫描分享到社交APP
上一篇
下一篇