Ответ 1
Я создал здесь xcworkspace (https://github.com/dtweston/TestFrameworkSample), который демонстрирует решение вашей проблемы. В этом рабочем пространстве есть два проекта:
- Проект SampleApp с целевой программой iOS и целью unit test.
- Проект SharedTestFramework, который импортирует XCTest и объявляет одно расширение, которое вы задали в своем вопросе.
Образец SampleAppTests ссылается на SharedTestFramework, чтобы иметь возможность использовать расширение, которое он определяет. Единственный файл теста импортирует SharedTestFramework.
С помощью этих шагов я также сталкиваюсь с Cannot load underlying module for 'XCTest'
при создании SharedTestFramework.
Исправление для этого - обновить Framework Search Paths
, чтобы включить "$(PLATFORM_DIR)/Developer/Library/Frameworks"
. Теперь SharedTestFramework компилируется правильно, и, как вы можете видеть в рабочей области, которую я загрузил, TargetAppTests может использовать ее успешно.
Старый ответ и busted
Вы создаете отдельную структуру, предназначенную для импорта в тестовые объекты? Если это так, то мне кажется, вам просто нужно ссылаться на XCTest.framework
из этой настраиваемой структуры, которую вы создаете.
С другой стороны, если вы пытаетесь добавить это расширение в фреймворк, который используется целевой вами приложением, это кажется плохой идеей, потому что это будет означать ссылку XCTest.framework
на двоичный файл, который отправляется на хранить и запускать на устройствах людей.
Я не уверен, что это возможно. Я уверен, что это не сценарий, который Apple ожидает или поддерживает.