web-dev-qa-db-fra.com

Xcode 8 Beta - Echec de la conversion en syntaxe Swift actuelle: impossible de trouver l'hôte de test

Je reçois un message d'erreur lorsque j'essaie d'utiliser l'assistant de conversion de Xcode 8 . Après avoir essayé de redémarrer, téléchargé du nouveau code et supprimé mes fichiers DerivedData, je ne peux pas échapper à cette erreur:

Échec de la conversion de la syntaxe Swift actuelle: impossible de trouver l'hôte de test

J'ai essayé les deux options qui sont: Swift 2.3 et Swift 3. Après avoir sélectionné une version, j'obtiens instantanément cette erreur.

Voici une capture d'écran de l'erreur: 

 Xcode 8 Convert Error Message

109
thejuki

Cela a fonctionné pour moi:

  1. Sélectionnez le projet Xcode dans le navigateur de gauche. 
  2. Cliquez sur votre cible de test dans l'onglet General du projet.
  3. Divulguer "Test". Dans mon projet, le bouton de liste déroulante "Application hôte" était vide. Sélectionnez votre application hôte appropriée.
  4. Essayez de construire votre cible de test maintenant. Si cela réussit, la syntaxe de conversion devrait également l'être. 

J'ai eu ce problème après l'installation de la version bêta de Xcode 8, donc je suppose que c'est lié.

Crédit photo à @karthikkck  enter image description here

298
iluvcapra

Il m'a fallu un peu de temps pour trouver le "Host Application" pulldown mentionné dans la réponse par ailleurs très utile de iluvcapra.

Donc, voici ce qu'il voulait dire:

C'est ici que vous trouvez le menu déroulant. Sélectionnez votre cible principale.

 This is where you find the pulldown menu

62
Oliver Reinhard

Je trouve la solution facile pour cela, éditez simplement votre schéma et désactivez les tests.

 enter image description here

Et relancez la conversion.

20
Never_be

+1 iluvcapra

Vous pouvez également utiliser un éditeur de texte pour supprimer les deux éléments suivants de votre fichier MyAppSwift.xcodeproj/project.pbxproj, recherchez TEST_Host

Maintenant, rouvrez votre projet et exécutez à nouveau l'assistant de conversion.

    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

S'il vous plaît essayez ces étapes:

  1. Sélectionnez votre projet sur le côté gauche de Xcode.
  2. Accédez aux cibles et sélectionnez vos tests de projet.
  3. Sélectionnez l'onglet Général, sélectionnez le menu déroulant Application hôte et choisissez votre application hôte.
  4. Convertir ou exécuter votre projet.

Essayer ces étapes a fonctionné pour moi.

5
Karthickkck

Dans mon cas, j'ai supprimé ma cible de tests, puis l'a rajoutée en utilisant les cibles + ci-dessous et en sélectionnant "Ensemble de tests unitaires iOs".

Pour une raison quelconque, une erreur de compilation est survenue. J'ai donc modifié le chemin "Fichiers de construction intermédiaires intermédiaires par configuration: pour ma cible de test en $ (PROJECT_TEMP_DIR)/$ (CONFIGURATION) pour le débogage et la publication. Cela a permis à la compilation de fonctionner.

0
Mark80