Xcode 8 Beta-現在のSwift構文に変換できませんでした:テストホストが見つかりませんでした


115

Xcode 8の変換ウィザードを使用しようとすると、エラーメッセージが表示されます。再起動して新しいコードをダウンロードし、DerivedDataファイルを削除しようとすると、このエラーを回避できません。

現在のSwift構文に変換できませんでした:テストホストが見つかりませんでした

Swift 2.3とSwift 3の両方のオプションを試しました。バージョンを選択すると、すぐにそのエラーが発生します。

エラーのスクリーンショットは次のとおりです。

Xcode 8変換エラーメッセージ


ここでも同じ問題があります。別の、より小さなプロジェクトはうまく変換されます。
ゴンドミール

何が原因なのかわかりません。変換するモジュールを選択できます。すべてのモジュールで同じエラーが発生します。
thejuki

「テストホスト」とは何ですか?DerivedDataフォルダーの削除後に存在しないファイルDerivedData / ding / Build / Products / Debug-iphoneos / ding.app / dingが表示されます。
ゴンドミール2016年

ビルド設定でSwift言語バージョンを確認することもできます。それより低いバージョンを使用してみてください。
iPhoneDeveloper 2017年

回答:


306

これは私のために働きました:

  1. 左側のブラウザーでXcodeプロジェクトを選択します。
  2. プロジェクトのGeneralタブでテストターゲットをクリックします。
  3. 「テスト」を開示します。私のプロジェクトでは、「ホストアプリケーション」プルダウンボタンが空白でした。適切なホストアプリケーションを選択します。
  4. 今すぐテストターゲットを作成してみてください。それが成功した場合は、構文の変換も必要です。

Xcode 8ベータ版のインストール後にこの問題が発生したため、これは関連していると思います。

@karthikkckへの画像クレジット ここに画像の説明を入力してください


5
それでうまくいきました。ありがとう!明確にするために:[全般]タブのタイトルの左側にあるセレクターでテストターゲットをクリックして選択します。
thejuki

5
ありがとう、私のためにも働いた。ここでも他の人を助けるかもしれないクレイジーな詳細に注意してください。「ホストアプリケーション」フィールドにはすでに正しい値が入力されていますが、それをオフにして元の値に戻すだけで機能します。
mz2 2016年

5
私のホストアプリケーションは「カスタム」に設定されました。利用可能な唯一のオプションに変更すると、問題が修正されました。ありがとう!
マーク・マッコークル

1
手順3で言及したものはどこにありますか?@Bharathi
JayVDiyk

2
一般タブにテストセクションがありません。
デュースビガロー2016年

62

iluvcapraによる非常に役立つ回答で言及されている「ホストアプリケーション」プルダウンを見つけるのに少し時間がかかりました。

だからこれは彼が意味したことです:

ここにプルダウンメニューがあります。メインターゲットを選択します。

ここにプルダウンメニューがあります


22

私はこれの簡単な修正を見つけます、あなたのスキームを編集してテストを無効にするだけです。

ここに画像の説明を入力してください

そして再度変換を実行します。


1
ありがとう!これは私にとってはうまくいきましたが、受け入れられた答えはうまくいきませんでした。
デイバー2016年

この。「ホストアプリケーション」を既に適切に設定していても、動作しませんでした。テストも実行できませんでした(同じエラーメッセージが表示されます...)。プロジェクトは現在積極的にユニットテストを使用していませんが、ある時点でそれを調査する必要があります...
Nicolas Miari

5

イルカプラ+1

または、テキストエディターを使用して、MyAppSwift.xcodeproj / project.pbxprojファイルから次の2つの項目を削除し、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;
    };

5

ここに画像の説明を入力してください

次の手順を試してください:

  1. Xcodeの左側でプロジェクトを選択します。
  2. ターゲットに移動し、プロジェクトテストを選択します。
  3. [全般]タブを選択し、[ホストアプリケーション]ドロップダウンを選択して、ホストアプリケーションを選択します。
  4. プロジェクトを変換または実行します。

これらの手順を試すとうまくいきました。


0

私の場合、テストターゲットを削除し、次に+下のターゲットを使用して再度追加し、「iOs Unit Testing Bundle」を選択しました

何らかの理由でコンパイルエラーが発生したため、デバッグとリリースの両方で、「構成ごとの中間ビルドファイルパス:テストターゲットの$(PROJECT_TEMP_DIR)/ $(CONFIGURATION)に変更しました。これにより、コンパイルが機能しました。


-1

これを3つのステップで修正します。

  1. 最初にテストターゲットを削除します
  2. Edit-> Convert-> To current Swift syntax ...を選択し、変換を実行します
  3. 次に、新しいテストターゲットを追加します
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.