Почему я должен вручную связать Webkit.framework для тестов пользовательского интерфейса XCode? - PullRequest
1 голос
/ 15 апреля 2019

Итак, я писал тесты пользовательского интерфейса для своего приложения.

Я заметил, что если раскадровка содержит Webkit WebView, она не инициализируется должным образом, и в журнале я вижу следующее:

[NSKeyedUnarchiver decodeObjectForKey:]: невозможно декодировать объект класса (WKWebView) для ключа (NS.objects); класс может быть определен в исходном коде или библиотеке, которая не связана

Если я сам запускаю приложение, оно работает нормально, проблемы возникают только с пользовательским интерфейсом.

Я могу зайти в настройки проекта и вручную связать WebKit.framework, и тест будет пройден.

Но я хочу понять, что создает проблему в первую очередь? Почему происходит сбой только в тестах пользовательского интерфейса?

Шаги для воспроизведения

  1. Создать новый проект в Xcode. Выберите приложение Cocoa, отметьте «Использовать раскадровки» и «Включить тесты пользовательского интерфейса»
  2. В тестах пользовательского интерфейса напишите простой тестовый пример:
    func testExample() {
        XCUIApplication().launch()
    }
  1. Откройте раскадровку и перетащите куда-нибудь WebView.
  2. Выполнить тест.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...