代码之家  ›  专栏  ›  技术社区  ›  Hamed Ghadirian

Rxtest:未定义的架构符号x86 U 64和ARM64

  •  2
  • Hamed Ghadirian  · 技术社区  · 6 年前

    我正在尝试运行以下测试 第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的类型元数据”,引用自: testingViewModel.o中的testingtests.testingViewModel.testcolornameisrayWenderLichgreenwhenhexStringS006636()->()。 “RxCoCo.DriversSharingStrategy的协议见证表:RxCoCo.SharingStrategyProtocol in RxCoCo”,引用自: testingViewModel.o中的testingtests.testingViewModel.testcolornameisrayWenderLichgreenwhenhexStringS006636()->()。 “rxcocoa.sharedsequence.asobservable()->rxswift.observable”,引用自: testingViewModel.o中的testingtests.testingViewModel.testcolornameisrayWenderLichgreenwhenhexStringS006636()->()。 ld:找不到架构x86 U 64的符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

    iPhone6s上的这个:

    架构ARM64的未定义符号: “rxcocoa.driversharingstrategy的类型元数据”,引用自: testingViewModel.o中的testingtests.testingViewModel.testcolornameisrayWenderLichgreenwhenhexStringS006636()->()。 “RxCoCo.DriversSharingStrategy的协议见证表:RxCoCo.SharingStrategyProtocol in RxCoCo”,引用自: testingViewModel.o中的testingtests.testingViewModel.testcolornameisrayWenderLichgreenwhenhexStringS006636()->()。 “rxcocoa.sharedsequence.asobservable()->rxswift.observable”,引用自: testingViewModel.o中的testingtests.testingViewModel.testcolornameisrayWenderLichgreenwhenhexStringS006636()->()。 ld:找不到体系结构ARM64的符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

    Unfortunately, there is no support for this issue in Raywenderlich's forums.

    1 回复  |  直到 6 年前
        1
  •  2
  •   Hamed Ghadirian    6 年前

    像有人建议的那样,经过大量搜索之后 here 对于另一个类似的问题,我发现这个错误将通过导入 RxCocoa .