我有几个项目正在尝试用Xcode6Beta2构建。这些项目都有一些使用XCTest的类型库(Kiwi/XCTest和Specta),这些库不是用Xcode6构建的,因为找不到XCTest/XCTest.h。
fatal error: 'XCTest/XCTest.h' file not found
#import <XCTest/XCTest.h>
我注意到XCTest.framework不再处于“使用二进制文件链接库”的构建阶段列表中,但这很好,因为当我使用Xcode6创建一个新项目时,该库似乎是自动链接的。
也许与此相关的是,我需要XCTest的依赖项都是通过Cocoapods引入的。
有没有什么我不知道的东西需要在我的项目中更新?
发布于 2014-06-24 03:11:16
我注意到XCTest只对测试目标可用(在Xcode6中)。如果您将XCTest用于任何其他目标(无论出于何种原因),您将看到XCTest.h not found
错误。
发布于 2015-02-18 17:54:07
当您添加了一个在测试目标外部使用XCTest的文件时,就会出现此错误。要在AppCode中修复此问题,您可以右键单击任何可疑文件并选择“管理目标”,然后确保只选中测试目标。
发布于 2014-08-01 19:03:42
@squarefrog拥有right answer,但每次更新pods时,您都必须手动执行此操作:(
如果你把这个添加到你的podfile中,它会自动为你添加额外的路径。例如,如果您想将$(PLATFORM_DIR)/Developer/Library/Frameworks
添加到Specta的FRAMEWORK_SEARCH_PATHS
中:
post_install do |installer|
target = installer.project.targets.find { |t| t.to_s == "Pods-Tests-Specta" }
if (target)
target.build_configurations.each do |config|
s = config.build_settings['FRAMEWORK_SEARCH_PATHS']
s = [ '$(inherited)' ] if s == nil;
s.push('$(PLATFORM_DIR)/Developer/Library/Frameworks')
config.build_settings['FRAMEWORK_SEARCH_PATHS'] = s
end
else
puts "WARNING: Pods-Tests-Specta target not found"
end
end
https://stackoverflow.com/questions/24275470
复制相似问题