iosxcoderx-swiftcarthagexcframework

No such module 'RxBlocking' in test target


I'm using Carthage for setting up my project's RxSwift dependency. And recently, I tried to use XCFrameworks instead with the command carthage update --platform ios --use-xcframeworks. I've set up all that is needed to be set (eg. changing the .frameworks to .xcframeworks in the Link Binary With Libraries in the targets' Build Phase, etc). It worked and I can run or test in the simulator, until today that is. When I was trying to do the tests this morning, all of a sudden it failed (although it worked fine before) with the error No such module 'RxBlocking'. I've double-checked it and the xcframework has already been built in the Carthage/Build folder, and the xcframework has already been added to the test target's settings.

I've tried all of these but it all failed:

  1. Setting the $(PROJECT_DIR)/Carthage/Build to the Framework Search Paths for the target
  2. Deleting DerivedData/ and/or Carthage/ folders
  3. Resetting the Mac

Can anybody help me to fix this? BTW, I'm on XCode 12.4 and Swift 5. Thanks.


Solution

  • This is actually because of the Apple tools that can't search for the correct Frameworks Search Path. The fix is in this link: https://github.com/ReactiveX/RxSwift/issues/2292#issuecomment-804045119