Xcode 8 Beta - 转换为当前Swift语法失败:找不到测试主机

the*_*uki 114 xcode ios xcode8

我尝试使用Xcode 8的转换向导时收到错误消息.尝试重新启动,下载新代码并删除我的DerivedData文件后,我无法避免此错误:

转换为当前Swift语法失败:找不到测试主机

我尝试了两个选项:Swift 2.3和Swift 3.在我选择一个版本后,我立即得到了这个错误.

以下是错误的屏幕截图:

Xcode 8转换错误消息

ilu*_*pra 302

这对我有用:

  1. 在左侧浏览器中选择Xcode项目.
  2. 在项目General选项卡中单击您的测试目标.
  3. 披露"测试".在我的项目中,"主机应用程序"下拉按钮为空白.选择适当的主机应用程序.
  4. 立即尝试构建测试目标.如果成功,那么也应该转换语法.

安装Xcode 8 beta后我遇到了这个问题所以我认为这是相关的.

图片来自@karthikkck 在此输入图像描述

  • 这对我有用.谢谢!有关说明:单击并选择常规选项卡标题左侧选择器上的测试目标. (5认同)
  • 谢谢,也为我工作.在这里注意到一个可能对其他人有帮助的疯狂细节:"主机应用程序"字段已经填充了正确的值,但只是将其切换回原始值使其工作. (5认同)
  • 为了什么值得我的主机应用程序设置为"自定义".更改为唯一可用选项修复了问题.谢谢! (5认同)
  • 我的常规标签中没有测试部分? (2认同)

小智 62

我花了一点时间找到iluvcapra在其他非常有用的答案中提到的"主机应用程序"下拉菜单.

所以这就是他的意思:

您可以在这里找到下拉菜单.选择主要目标.

您可以在这里找到下拉菜单


Nev*_*_be 22

我找到了简单的解决方法,只需编辑您的Scheme并禁用测试.

在此输入图像描述

并再次运行转换.


小智 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;
    };
Run Code Online (Sandbox Code Playgroud)


Kar*_*kck 5

在此输入图像描述

请尝试以下步骤:

  1. 在Xcode的左侧选择您的项目.
  2. 转到目标并选择您的项目测试.
  3. 选择General选项卡,然后选择Host Application下拉列表并选择您的Host Application.
  4. 转换或运行您的项目.

尝试这些步骤对我有用.