在非测试目标中使用XCTest

我正在围绕XCTest编写一个可重用的框架,用于我们的几个项目的UI测试。 为此,我创建了一个Cocoa Touch Framework项目,我希望通过pod共享。

是否可以将XCTest包含在这样的项目中(没有额外的测试目标)? 即使我已经在构建阶段链接了XCTest.framework ,我也XCTest.framework了无法找到XCTest模块的错误。

您应该将$(PLATFORM_DIR)/Developer/Library/FrameworksFramework Search Paths中,该Framework Search Paths位于框架目标的构建设置中。 基本上,您不必将框架与XCTest.framework链接。

此外,如果您要通过pod共享框架,可以将以下代码添加到podspec文件中:

 Pod::Spec.new do |s| ... s.weak_framework = "XCTest" s.pod_target_xcconfig = { 'FRAMEWORK_SEARCH_PATHS' => '$(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks"', } ... end