Problèmes après la mise à niveau vers Xcode 10: le fichier d'entrée de construction est introuvable

106

J'ai mis à niveau mon SDK Xcode vers la version 10 hier soir, puis je constate que je ne peux pas créer.

J'obtiens cette erreur:

Impossible de trouver le fichier d'entrée de construction: '/Users/call01/Library/Developer/Xcode/DerivedData/Comp-Lite-Apps-gytvmossqptokeafrddvvmnlzadk/Build/Products/Debug-iphoneos/SG11.app/SG11

qui n'existait pas avant ma mise à niveau et je suis tenté de revenir en arrière, mais j'aimerais m'en tenir à la version 10 si je peux résoudre ce problème.

utilisateur616076
la source

Réponses:

133

Essayez de revenir au Legacy Build System( File > Project Settings > Workspace Settings > Legacy Build System)

schmidt9
la source
2
Agréable. Mais je me demande toujours ce qui va se passer plus tard? Nous devons réparer notre projet mais comment?
Teddy
1
@Teddy Je n'ai pas encore trouvé de solution, toujours en utilisant cette solution de contournement
schmidt9
2
@ schmidt9 chapeau, merci beaucoup vous sauvez la vie. deuxièmement, je ne peux pas croire que ce nouveau système de construction était le problème. Je me débat avec ça depuis des jours. après la mise à jour vers iOS 12 et XCode 10, la signature automatique a été interrompue. J'ai tout essayé et même révoqué et recréé tous les certificats. et profils. la signature a été corrigée, mais le profil d'approvisionnement était toujours AUCUN. Je POUVAIS signer manuellement l'application et cela a fonctionné, mais le conteneur iCloud et d'autres droits étaient manquants dans l'application publiée. de toute façon, j'ai résolu mon problème. bon seigneur comment Apple me frustre à chaque mise à jour. à votre santé!
Nexus
Cela a résolu mon problème avec la signature et le profilage automatiques. mais j'ai toujours des problèmes avec les conteneurs iCloud. lorsque j'installe l'application directement sur mon téléphone, cela fonctionne correctement. J'ai un conteneur iCloud et j'utilise des documents iCloud pour joindre des fichiers à partir du stockage iCloud. mais lorsque je publie l'application sur TestFlight, cela ne fonctionne pas. échoue silencieusement, comme si le conteneur iCloud n'était même pas présent dans le profil de l'application distribuée. incroyablement frustrant.
Nexus
1
@Nexus ce problème avec le nouveau système de construction persiste depuis que Apple l'a lancé (xcode 8 ou 9). Désolé, je n'ai pas traité des conteneurs iCloud,
je
93

Pour les fichiers Swift ou les fichiers appartenant au projet tels que:

Build input file cannot be found: PATH/TO/FILE/FILE.swift

Ce problème peut se produire lorsque des fichiers ou des dossiers ont été supprimés ou déplacés dans le projet.

Réparer:

  1. Allez dans le navigateur de projet, sélectionnez votre projet

  2. Sélectionnez l' Build Phasesonglet

  3. Dans la Compile Sourcessection, vérifiez le (s) fichier (s) dont Xcode se plaint

  4. Notez que le (s) fichier (s) ont le mauvais chemin, et supprimez-les en cliquant sur l'icône moins

  5. Ajoutez à nouveau le (s) fichier (s) en cliquant sur l'icône plus et recherchez dans le projet.

  6. Produit> Dossier de construction propre

  7. Construire

Vous trouvez généralement ces fichiers manquants dans le Recovered Referencesdossier de Xcode dans l'arborescence du projet (recherchez la barre de recherche en bas à gauche de Xcode et recherchez votre fichier de plainte):

Les supprimer de ce dossier peut également résoudre l'erreur.

AnthonyR
la source
1
Je vous remercie! Nous avions des références à des fichiers supprimés. La suppression de ces références à elle seule a résolu le problème
Jason
Parfois, lorsque je renomme à partir de XCode, le fichier dans 'Finder' contient toujours l'ancien nom. Localisez le fichier dans 'Finder' et renommez-le avec le nouveau nom.
Tony
59

Pour moi, dans Xcode 10, ces solutions ont fonctionné comme un charme. Allez simplement dans le dossier Références récupérées et supprimez tous les fichiers de couleur rouge et ajoutez-le à nouveau avec la référence appropriée.

entrez la description de l'image ici

Krishna Thakur
la source
10
Je ne trouve pas "Références récupérées" sur mon projet
david m lee
4
Qu'entendez-vous par «ajoutez-le à nouveau avec une référence appropriée» après avoir supprimé les fichiers rouges?
PrimeTimeTran
@PrimeTimeTran Je voulais dire que vous pouvez à nouveau ajouter ces références de fichiers dans votre projet, par glisser-déposer ou par copier-coller. Tout comme l'ajout d'un nouveau fichier dans le projet.
Krishna Thakur
3
@davidmlee Je pense que ce que ce gars veut dire en d'autres termes est: "ouvrez tous vos dossiers dans le projet, supprimez les éléments rouges et ajoutez-les à nouveau." Il n'est pas nécessaire qu'il y ait un dossier de références récupéré.
bearacuda13
17

Cela a fonctionné pour moi dans Xcode 10:

  • Cliquez sur l'icône / le nom du projet dans votre projet Xcode
  • Aller à l'onglet Général
  • Cliquez sur [Choisir le fichier info.plist] dans la section Identité
  • Sélectionnez le fichier info.Plist
  • Vérifiez l'onglet Info pour voir si info.plist a été chargé avec succès
  • Construire et exécuter
Mile Dev
la source
15

Curieusement, fermer Xcode et le rouvrir pourrait également suffire.

Danielhadar
la source
J'ai également supprimé les données dérivées, mais la simple fermeture / réouverture aurait peut-être suffi.
Adam Johns
Je pensais que c'était une façon Visual Studio de réparer les choses ... mais cela a fonctionné pour moi.
SEG.Veenstra
14

La solution ci-dessus fonctionne finalement pour moi; cependant, j'ai besoin de faire quelques étapes supplémentaires pour finalement le faire compiler avec succès. (Ces étapes supplémentaires étaient nécessaires même sur Xcode 9.)

  1. Xcode: File -> Workspace Settings -> Build System: Legacy Build System
  2. Xcode: Produit -> Nettoyer
  3. Faites pivoter pour compiler différents types d'émulateurs, tels que «iPhone 8», «iPhone 8 Plus», etc. (ils peuvent échouer ou non.)
  4. Compilez éventuellement sur "Appareil iOS générique"
david m lee
la source
J'avais besoin de suivre certaines de ces étapes pour que cela fonctionne aussi.
Liwen Zhao
13

Vérifiez simplement le chemin d'accès au fichier .plist dans les paramètres de construction de votre cible

entrez la description de l'image ici

Alexandre Tikhonov
la source
Oui, j'avais déplacé le plist dans un dossier séparé. Je pense que les dossiers étaient virtuels et maintenant ils sont réels (le vieux dossier bleu / jaune). Quoi qu'il en soit, votre réponse était juste :-)
Peter
10

J'ai résolu ce problème de cette façon: allez dans les phases de construction de votre projet (cliquez sur l'icône du projet en haut, puis cliquez sur Phases de construction). Recherchez votre fichier ici. S'il est là (il sera grisé), supprimez-le. Puis nettoyez (shift + alt + commande + k), et exécutez! J'espère que ça aide.

Anastasiia Staiko
la source
9

Si l'erreur indique qu'il ne trouve pas Info.plist et qu'il cherche dans le mauvais chemin , procédez comme suit:

  1. Sélectionnez votre projet dans le navigateur, puis sélectionnez votre cible
  2. Sélectionnez "Paramètres de construction" et recherchez "plist"
  3. Il devrait y avoir une option appelée Fichier Info.plist. Remplacez l'emplacement par le bon.
keverly
la source
Cette réponse est également applicable si vous renommez votre dossier / structure d'application. Merci @keverly
Lorem
5

Aucun de ces éléments n'a fonctionné pour moi, mais cela a fonctionné:

  1. Ouvrez le projet dans le Finder, faites un clic droit sur votre fichier .xcodeproj et affichez le contenu du package
  2. Ouvrez project.pbxproj dans un éditeur de texte
  3. Trouvez la référence de votre fichier manquant
  4. Modifiez path = "path/to/file.swift"à l'emplacement réel sur le disque et enregistrez le fichier.
  5. Reconstruire le projet
Ben Gomm
la source
CECI est celui qui corrige le problème ... incroyable
David Seek
Pareil ici. Comment diable avez-vous compris ça?
Peter Schorn le
2

ouvrez le volet de navigation de droite où vos fichiers de projet existent OU JSUT cliquez sur cmd + 1 Puis recherchez le dossier "Références récupérées" ouvrez-le tous les fichiers rouges (supprimez-les) alors tout fonctionnera si bien.

Ahmed Samir
la source
2

J'ai eu cela pour construire mes tests unitaires. Cela peut être arrivé parce que j'ai supprimé les exemples de tests.

J'ai supprimé le paquet de tests unitaires, puis je l'ai ré-ajouté comme indiqué dans les images ci-dessous et tout allait bien à nouveau.

entrez la description de l'image ici

entrez la description de l'image ici

Declan McKenna
la source
2

J'ai rencontré cette erreur après avoir renommé un fichier. D'une manière ou d'une autre, Xcode n'a pas renommé correctement le fichier réel sur le disque.

Il n'a donc pas pu trouver le fichier. Parfois, les fichiers sont mis en évidence avec une couleur de texte rouge. À d'autres moments, l'icône Swift devant le fichier recevait une superposition grise.

Le correctif était simple.

  • Examinez l'erreur et voyez exactement quel fichier il ne peut pas trouver.
  • Sélectionnez le fichier introuvable.
  • Accédez à l '«Inspecteur de fichiers». C'est sur le volet de navigation droit de Xcode.
  • Cliquez sur l'icône du dossier.
  • Sélectionnez le bon fichier.
  • Nettoyez la version et exécutez-la à nouveau.
Mon chéri
la source
1

J'ai eu un problème similaire après la mise à niveau vers une nouvelle version swift récemment. Le déplacement de fichiers faisait que mon projet xcode faisait référence à des éléments qui n'étaient plus dans le répertoire du projet, ce qui me donnait le fichier d'entrée de construction de code d'erreur introuvable.

Dans ma situation, j'avais en quelque sorte plusieurs fichiers / images qui étaient référencés comme décrit ci-dessous:entrez la description de l'image ici

Dans l'image ci-dessus.

  • Accédez à votre page Cibles.
  • Cliquez ensuite sur l'onglet Phases de construction en haut.
  • Faites défiler vers le bas pour copier les ressources du bundle
  • Recherchez les fichiers concernés et supprimez-les. (appuyez sur supprimer sur eux ou sélectionnez-les et appuyez sur le bouton moins)

C'est ici que j'avais en quelque sorte plusieurs fichiers et images référencés à partir d'autres dossiers et la construction échouerait car ils ne pouvaient plus les trouver. Et je n'ai pas pu les trouver non plus! ou comment Xcode les référençait toujours

J'espère que ça aidera quelqu'un d'autre !

Julian Silvestri
la source
1

J'ai eu le même problème. Le problème était que je n'avais aucun fichier sous Target> Build Phases> Compile Sources. Le problème a été résolu après avoir ajouté au moins un fichier à Compile Sources.

egabor
la source
1

Ce n'est pas que j'ai fait quelque chose de mal, mais j'ai rencontré ce problème pour une raison complètement différente et je sais un peu ce qui l'a causé.

J'utilisais auparavant finder et faisais glisser un fichier dans le répertoire / dossier de mon projet. Je n'ai pas traîné dans Xcode . Pour que Xcode inclue ce fichier dans le projet, j'ai dû le faire glisser moi-même plus tard dans Xcode.

Mais quand je suis passé à une nouvelle branche qui n'avait pas ce fichier (ni nécessaire), Xcode me donnait cette erreur:

Le fichier d'entrée de construction est introuvable: '/ Users / honey / Documents / xp / xpios / powerup / Models Extensions / CGSize + Extension.swift'


J'ai nettoyé le dossier de construction et supprimé mes données dérivées, mais cela n'a pas fonctionné jusqu'à ce que je redémarre mon Xcode.

Mon chéri
la source
1

Cela a fonctionné pour moi

  1. essayez de supprimer les fichiers de couleur rouge
  2. supprimer les fichiers dans les données dérivées
  3. nettoyer le dossier de construction
  4. puis essayez de construire en utilisant "nouveau système de construction" à partir des paramètres de fichier-> espace de travail
Aditya A.Rajan
la source
1

Dans mon cas, le fichier (et le répertoire) que XCode mentionnait était incorrect et le problème a commencé à se produire après une fusion de Git avec une branche relativement énorme. Pour résoudre le même problème, j'ai effectué les étapes suivantes:

  • Recherche du fichier dans le système de répertoires de XCode.
  • Trouvé le fichier erroné surligné en rouge (c'est-à-dire qu'il manquait).
  • Faites un clic droit sur le fichier et supprimez le fichier.
  • J'ai essayé à nouveau de créer mon code, et voilà, cela a réussi.

J'espère que ces étapes aideront quelqu'un.

Arka Mukherjee
la source
0
  1. Allez dans Xcode-> File -> Project Setting
  2. Changer le système de construction: - "Legacy Build System".
  3. Nettoyez, construisez et appuyez sur Exécuter.
Abhimanyu Rathore
la source
0

Ce dont Xcode se plaignait, c'était un fichier XIB. Je l'ai fait fonctionner en allant dans Projet -> Phases de construction -> Copier les ressources du bundle, en supprimant le XIB "problématique", en nettoyant (CMD + Shift + K), en le construisant et en le rajoutant à nouveau.

fredy
la source
0

Il y a aussi une possibilité que parfois, lorsque vous déplacez vos fichiers vers un dossier différent et en particulier lorsque vous déplacez votre info.plistvers un autre dossier, vous devez définir l'emplacement de ce fichier. Pour résoudre ce problème, cliquez simplement sur l'icône bleue de votre projet en haut, et vous verrez un bouton à la place du nom du projet et de l'identifiant du bundle, cliquez dessus et localisez le info.plistfichier là-bas, nettoyez et compilez joyeusement.

Syed Azeem Ahmed
la source
0

J'ai rencontré ce problème peu de temps après la mise à niveau vers Xcode 10, mais ce n'était pas le problème.

J'ai essayé de changer le système de construction, mais cela m'a donné une erreur distincte qui signifiait la même chose. Dit généralement "Le fichier X est introuvable".

Il y a plusieurs choses à vérifier lorsqu'un fichier est introuvable.

  1. Dossier de références récupérées Apple fait cette bonne chose où s'il détecte une référence à un fichier qui n'existe pas, il ajoutera cette référence dans un groupe appelé "Références récupérées"

C'est bien de la part d'Apple mais cela ne fonctionne pas toujours.

  1. Phases de construction Sources de compilation Dans cette liste, il peut y avoir des métadonnées pour un fichier que le projet est censé compiler, mais le fichier n'existe pas réellement et il tente de trouver le fichier au chemin donné. Dans cette liste, il sera grisé, supprimez-les et ajoutez-les à nouveau en basculant les dépendances cibles du fichier ou en le supprimant manuellement et en le faisant glisser.

  2. Chemin du fichier Vérifiez le chemin du fichier imprimé par l'erreur et le chemin du fichier dans le Finder. Vous pouvez facilement le voir en cliquant sur le fichier dans Xcode et en cochant l'onglet "Afficher l'inspecteur de fichiers" (l'onglet le plus à gauche). Si ces chemins sont corrects, vous êtes bon!

  3. Fichiers grisés dans votre projet qui ne sont pas dans les références récupérées ou en rouge Celui-ci m'a énervé car ce n'est pas évident sur ce qui s'est passé, mais fondamentalement si vous allez dans Finder et déplacez un fichier vers un emplacement différent sans mettre à jour la référence dans le projet il lancera l'erreur car le fichier n'existe plus là-bas. La seule indication que j'ai trouvée pour cela est que le fichier dans l'onglet "Navigateur de projet" (onglet le plus à gauche) est très légèrement grisé, mais lorsque vous supprimez ce fichier, Xcode ne vous invite pas à supprimer la référence ou à envoyer à poubelle. Vous pouvez résoudre ce problème en supprimant le fichier et en l'ajoutant à nouveau au projet ou en allant dans l'onglet "Inspecteur de fichiers" et en cliquant sur l'icône du dossier à côté du chemin et en le modifiant à l'emplacement approprié.

Quoi qu'il en soit, l'erreur indique qu'il ne trouve pas de fichier, le passage à l'ancien système de construction est un pansement pour un problème plus concret. En tant que développeurs, nous comprenons qu'un compilateur souhaite simplement qu'un artefact soit répertorié à la fin d'un chemin de fichier. Quelque part, le chemin n'est pas correct! Nous devons trouver où c'est!

Mon problème a été résolu avec l'élément 4 ci-dessus. J'espère que cela aide quelqu'un.

A'sa Dickens
la source
0

Fichier> Paramètres du projet> Modifier les systèmes de construction en systèmes de construction hérités

Apurva Aggarwal
la source
3
Un peu d'explication serait utile
vik_78
0

Dans mon cas, j'ai accidentellement supprimé un dossier xcodeproj tiers que j'ai utilisé dans mon application.

sabiland
la source
0

Si vous avez essayé le profilage et que cela n'a pas fonctionné et que vous ne pouvez plus créer, accédez à votre volet Cible (via l'icône du projet), passez à l'onglet Paramètres de construction, recherchez PROFILE - et définissez CLANG_USE_OPTIMIZATION_PROFILE sur "Non".

Konchog
la source
0

Dans mon cas, j'avais créé une nouvelle cible de test et supprimé le fichier swift par défaut, il ne restait donc que le fichier info.plist. L'ajout d'un nouveau fichier a résolu ce problème.

Kwaku Eshun
la source
0

Dans mon cas, j'avais un script de construction qui générait le binaire .app (Buck). Le script de construction Buck s'est exécuté en parallèle avec l'étape de construction Swift Embed. Étant donné que le binaire .app n'a pas encore été généré, l'étape Swift échouait.

Dans mon script de construction, j'ai ajouté "$BUILD_PRODUCTS_DIR/$EXECUTABLE_PATH"sous "Output Files".

Cela indique au nouveau système de construction de Xcode que ce script générera le binaire de l'application et que Xcode s'assurera de synchroniser toutes les étapes de construction qui dépendent de cet artefact.

entrez la description de l'image ici

Vlad
la source