Xcode 8 Beta - Convert to Current Swift Syntax Failed: Could not find test host

IosXcodeXcode8

Ios Problem Overview


I am receiving an error message when I try to use Xcode 8's Convert Wizard. After trying rebooting, downloading fresh code, and deleting my DerivedData files I cannot escape this error:

>Convert to Current Swift Syntax Failed: Could not find test host

I have tried both options which are: Swift 2.3 and Swift 3. After I select a version I instantly get that error.

Here is a screenshot of the error:

Xcode 8 Convert Error Message

Ios Solutions


Solution 1 - Ios

This worked for me:

  1. Select the Xcode project in the lefthand browser.
  2. Click on your test target in the Project's General tab.
  3. Disclose "Testing". In my project the "Host Application" pulldown button was blank. Select your appropriate host application.
  4. Try building your test target now. If that succeeds then converting syntax should as well.

I had this problem after installing the Xcode 8 beta so I assume this is related.

Picture Credit to @karthikkck enter image description here

Solution 2 - Ios

It cost me a bit of time to find the "Host Application" pulldown mentioned in the otherwise very helpful answer by iluvcapra.

So this is what he meant:

This is where you find the pulldown menu. Select your main target.

This is where you find the pulldown menu

Solution 3 - Ios

I find easy fix for this, just edit your Scheme and disable tests.

enter image description here

And run conversion again.

Solution 4 - Ios

+1 iluvcapra

Alternatively, use text editor to remove the following two items from your MyAppSwift.xcodeproj/project.pbxproj file, search for TEST_HOST

Now, re-open your project and run the convert wizard again.

	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;
	};

Solution 5 - Ios

enter image description here

Please try these Steps:

  1. Select your project on the left side of Xcode.
  2. Go to Targets and select your Project Tests.
  3. Select the General Tab and select Host Application drop down and choose your Host Application.
  4. Convert or Run your project.

Trying these steps worked for me.

Solution 6 - Ios

In my case I deleted my tests target, then re-added it using the + below targets and selecting "iOs Unit Testing Bundle"

For some reason this got a compile error, so I changed the "Per-configuration Intermediate Build Files Path: for my test target to $(PROJECT_TEMP_DIR)/$(CONFIGURATION) for both debug and release. This allowed the compile to work.

Solution 7 - Ios

Fix this in 3 steps:

  1. First delete your test target
  2. The select Edit -> Convert -> To current Swift syntax... and perform the conversion
  3. Then add a new test target

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionthejukiView Question on Stackoverflow
Solution 1 - IosiluvcapraView Answer on Stackoverflow
Solution 2 - IosOliver ReinhardView Answer on Stackoverflow
Solution 3 - IosNever_beView Answer on Stackoverflow
Solution 4 - IosScott NguyenView Answer on Stackoverflow
Solution 5 - IosKarthick CView Answer on Stackoverflow
Solution 6 - IosMark80View Answer on Stackoverflow
Solution 7 - IosMarmoyView Answer on Stackoverflow