web-dev-qa-db-ja.com

Xcode 8ベータ版-現在のSwift構文への変換に失敗しました:テストホストが見つかりませんでした

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

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

両方のオプションを試してみました:Swift 2.3およびSwift 3.バージョンを選択した後、すぐにそのエラーが発生します。

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

Xcode 8 Convert Error Message

114
thejuki

これは私のために働いた:

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

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

@karthikkckへの画像クレジット enter image description here

301
iluvcapra

Iluvcapraの非常に役立つ回答で言及されている "Host Application" pulldownを見つけるのに少し時間がかかりました。

これが彼の意味するところです:

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

This is where you find the pulldown menu

62
Oliver Reinhard

私はこれを簡単に修正し、スキームを編集してテストを無効にします。

enter image description here

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

21
Never_be

+1 iluvcapra

または、テキストエディターを使用して、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
Scott Nguyen

enter image description here

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

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

これらの手順を試してみましたが、うまくいきました。

5
Karthickkck

私の場合、テスト対象を削除してから、以下のターゲットを使用して追加し、「iOs Unit Testing Bundle」を選択しました

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

0
Mark80