我正在使用xctest在命令行上运行iOS模拟器单元测试。首先,我建立目标:

xcodebuild -project "build/MyApp.xcodeproj" -target "MyApp Unit Tests" -configuration "Debug" -sdk "iphonesimulator" build

然后在测试包上运行xctest:
xcrun xctest "build/build/Debug-iphonesimulator/MyApp Unit Tests.xctest"

这可以正常工作,并且可以链接/System/Library/Frameworks中的框架(如“安全性”)。但是,一旦我添加了像MobileCoreServices这样的iOS SDK框架,xctest就会中断,从而给我:
Library not loaded: /System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices

单元测试在Xcode中运行良好,并且单元测试目标在其Frameworks搜索路径中包括$(PLATFORM_DIR)/Developer/Library/Frameworks

有人知道让xctest找到iOS框架的正确方法吗?

最佳答案

测试目标需要能够在MyApp的内置产品中寻找框架。您应该将框架搜索路径添加到测试目标:

$(CONFIGURATION_TEMP_DIR)/MyApp.build/DerivedSources

关于ios - XCTest不链接iOS框架,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32633647/

10-09 23:21