RxTest: неопределенные символы для архитектуры x86_64 и arm64
Я пытаюсь запустить следующий тест из главы 16: Тестирование с помощью RxTest из книги Raywenderlich RxSwift:
import XCTest
import RxSwift
import RxTest
@testable import Testing
class TestingViewModel : XCTestCase {
var viewModel: ViewModel!
var scheduler: ConcurrentDispatchQueueScheduler!
override func setUp() {
super.setUp()
viewModel = ViewModel()
scheduler = ConcurrentDispatchQueueScheduler(qos: .default)
}
func testColorNameIsRayWenderlichGreenWhenHexStringIs006636() {
// 1
let colorNameObservable = viewModel.colorName.asObservable().subscribeOn(scheduler)
// 2
viewModel.hexString.value = "#006636"
// 3
XCTAssertEqual("rayWenderlichGreen", try! colorNameObservable.toBlocking().first()!)
}
}
Но я получаю эту ошибку на симуляторе:
Неопределенные символы для архитектуры x86_64: "метаданные типа для RxCocoa.DriverSharingStrategy", на которые ссылаются из: TestingTests.TestingViewModel.testColorNameIsRayWenderlichGreenWhenHexStringIs006636() -> () в протоколе TestingViewModel.co.RoC от: TestingTests.TestingViewModel.testColorNameIsRayWenderlichGreenWhenHexStringIs006636() -> () в TestingViewModel.o "RxCocoa.SharedSequence.asObservable() -> RxSwift.Observable", ссылки из: TestingTests.TestingViewModel.testColorNameIsRayWenderlichGreenWhenHexStringIs006636() -> () в TestingViewModel.o ld: символ (ы) не найдены для архитектуры x86_64 clang: error: сбой команды компоновщика с кодом выхода 1 (используйте -v для просмотра вызова)
И этот на iPhone 6s:
Неопределенные символы для архитектуры arm64: "метаданные типа для RxCocoa.DriverSharingStrategy", на которые ссылаются из: TestingTests.TestingViewModel.testColorNameIsRayWenderlichGreenWhenHexStringIs006636() -> () в таблице TestingViewModel. от: TestingTests.TestingViewModel.testColorNameIsRayWenderlichGreenWhenHexStringIs006636() -> () в TestingViewModel.o "RxCocoa.SharedSequence.asObservable() -> RxSwift.Observable", ссылки из: TestingTests.TestingViewModel.testColorNameIsRayWenderlichGreenWhenHexStringIs006636() -> () в TestingViewModel.o ld: символы не найдены для архитектуры arm64 clang: error: сбой команды компоновщика с кодом выхода 1 (используйте -v для просмотра вызова)
К сожалению, этот вопрос не поддерживается на форумах Raywenderlich.
1 ответ
После многих поисков, как кто-то предлагает здесь для другой аналогичной проблемы, я обнаружил, что эта ошибка будет решена путем импорта RxCocoa
,