当我尝试使用Xcode 8的转换向导时,收到错误消息。 尝试重新启动,下载新代码并删除DerivedData文件后,我无法避免此错误:
转换为当前Swift语法失败:找不到测试主机
我尝试了两个选项:Swift 2.3和Swift 3.在我选择版本后,我立即得到了错误。
以下是错误的屏幕截图:
答案 0 :(得分:301)
这对我有用:
答案 1 :(得分:62)
答案 2 :(得分:21)
答案 3 :(得分:5)
+1 iluvcapra
或者,使用文本编辑器从 MyAppSwift.xcodeproj / project.pbxproj 文件中删除以下两项,搜索 TEST_HOST
现在,重新打开您的项目并再次运行转换向导。
4EFFFAE51B53D5D8003CD25A /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
);
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
INFOPLIST_FILE = "AF SwiftTests/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_NAME = "FA SwiftTests";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AF Swift.app/AF Swift";
};
name = Debug;
};
4EFFFAE61B53D5D8003CD25A /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
);
INFOPLIST_FILE = "AF SwiftTests/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_NAME = "FA SwiftTests";
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AF Swift.app/AF Swift";
};
name = Release;
};
答案 4 :(得分:5)
请尝试以下步骤:
尝试这些步骤对我有用。
答案 5 :(得分:0)
在我的情况下,我删除了我的测试目标,然后使用+以下目标重新添加它并选择“iOs Unit Testing Bundle”
由于某些原因,这出现了编译错误,所以我将“每个配置中间构建文件路径:为我的测试目标更改为$(PROJECT_TEMP_DIR)/ $(CONFIGURATION)”进行调试和发布。这使编译成为工作
答案 6 :(得分:-1)
通过3个步骤解决此问题: