swift - 为什么我必须为 Xcode UI 测试手动链接 Webkit.framework?
问题描述
所以我正在为我的应用程序编写 UI 测试。
我注意到,如果故事板包含 Webkit WebView,它不会正确初始化,我在日志中看到以下内容:
[NSKeyedUnarchiver decodeObjectForKey:]:无法解码类对象(WKWebView)的键(NS.objects);该类可以在源代码或未链接的库中定义
如果我自己直接运行应用程序,它工作正常,只有 UI 测试有问题。
我可以转到项目设置并手动链接 WebKit.framework 并且测试将通过。
但我想首先了解是什么造成了问题?为什么它只在 UI 测试中失败?
重现步骤
- 在 Xcode 中创建一个新项目。选择 Cocoa App,勾选“使用故事板”和“包括 UI 测试”
- 在 UI 测试中编写一个简单的测试用例:
func testExample() {
XCUIApplication().launch()
}
- 打开故事板并在某处放置一个 WebView。
- 运行测试。
解决方案
推荐阅读
- python-3.x - python __eq__ 测试失败
- python - 我的程序告诉某个变量未定义,我该如何解决?
- sql - 创建表时使用 NULL 约束的原因?
- python - Py serial readline在Python3中不起作用
- javascript - 有没有办法在不重新加载整个应用程序的情况下对节点应用程序进行更改?
- numbers - 编写一个 C++ 程序将十进制转换为任意基数
- python - 在 Python 中解包字节值
- data-structures - 对可变结构字段中的值调用可变方法
- java - 从另一个函数调用的改造任务(执行)不会等到任务完成
- phaser-framework - 鼠标事件作为输入发送到移相器场景