Je reçois cette erreur:
"erreur: impossible de générer le processus (liste d'arguments trop longue)
** ARCHIVE FAILED **
Les commandes de génération suivantes ont échoué: CompileSwiftSources normal arm64 com.Apple.xcode.tools.Swift.compiler (1 échec)
Exitcode = 65 "
J'ai parcouru ce lien: la localisation d'exportation Xcode renvoie l'erreur "Liste d'arguments trop longue"
Cet article fournit une bonne solution temporaire au problème indiquant de réduire la hiérarchie des chemins. Mais cela ne semble pas être une approche appropriée. Quelqu'un peut-il me proposer une approche différente de la solution à ce problème?
Il y a quelques jours, j'ai fait face à un défi similaire. Je souhaite fournir des détails et partager mes recherches avec la communauté SO.
Tout d'abord, j'ai trouvé ce fil et j'ai suivi le lien dans la question posée.
Et oui, c'est vrai, la réponse indiquée dans le lien est correcte, mais les solutions à ce problème ne me convenaient pas.
Problème
Dans mon cas, j'ai eu ce problème lorsque j'ai changé la hiérarchie des dossiers dans mon projet pour qu'elle soit plus pratique et adaptée à moi.
L'option @ oOEric ne me convenait pas, car selon les règles, la hiérarchie des groupes dans Xcode devrait coïncider avec la hiérarchie des dossiers dans le système.
Mais j'ai déjà eu environ 1680 Swift fichiers à compiler.
Le problème était que j'avais trop de chemin vers les fichiers compilés et que leur nombre était trop grand.
Recherche
Puis je commence la recherche et trouve Swift jira avec le même bug. Voici quelques liens:
Mais ici, je n'ai pas trouvé de solutions pour moi.
Surtout, j'étais satisfait de cette réponse des développeurs Swift.
Encore une fois, c'est un problème côté Xcode, pas un problème côté Swift. Commenter ici ne fera pas travailler les ingénieurs Xcode plus rapidement! (Nous ne sommes pas tous les mêmes personnes chez Apple.)
Okey, après cette réponse, j'étais finalement convaincu que s'il s'agissait d'un bug Xcode, alors la solution devait être recherchée dans Xcode.
Solutions
Vous devez déplacer votre projet plus haut dans la hiérarchie de votre système.
Je choisis celle-ci, car j'ai un très gros projet et l'utilisation d'autres solutions me demandera plus d'une journée.
Dans mon cas, j'ai mené une expérience et calculé que la longueur du chemin vers le projet ne devrait pas être supérieure à 50 caractères.
Mais c'est une solution temporaire. Si votre projet se développe davantage, vous devrez raccourcir le chemin ou utiliser d'autres solutions.
Cette solution convient aux fichiers qui n'utilisent pas de dépendances.
Tout d'abord, vous devez ajouter Cocoa Touch Framework comme cible à votre projet principal.
Cette cible doit être ajoutée automatiquement aux binaires intégrés et Framework et bibliothèques liés.
Après cela, vous devez trouver des fichiers sans dépendances et changer l'appartenance cible à votre "TestTarget".
N'oubliez pas les classes, propriétés, méthodes, énumérations et protocoles du framework cacao touch doivent avoir un accès ouvert ou public.
Et n'oubliez pas de nettoyer votre dossier DerivedData.
Cette solution a une approche plus intégrée.
Si vous souhaitez utiliser des dépendances dans vos cadres Cocoa Touch, vous devriez consulter ce guide et rendre la refactorisation plus complexe pour votre grand projet!
Je pense que c'est la meilleure solution.
J'espère que cette grande réponse aidera quelqu'un!
J'ai résolu ce problème en réduisant la hiérarchie des groupes dans Xcode.
par exemple. fichiers originaux dans project_name/project_name/About/Model/Text J'ai supprimé les groupes "Model", "Text" et déplacé les fichiers sous project_name/project_name/About /
Erreur - impossible de générer le processus (liste d'arguments trop longue)
Il y a plusieurs raisons à cette erreur. Certains d'entre eux sont mentionnés ci-dessous:
Xcode Swift complier prend les chemins absolus de tous les fichiers source lors de la compilation, la limite ARG_MX est atteinte et la construction échoue.
Cela a été corrigé dans Xcode 11 dans lequel un indicateur est utilisé pour définir un nombre illimité de fichiers Swift.
Solutions:
Passez à Xcode 11 et ajoutez USE_Swift_RESPONSE_FILE à [~ # ~] oui [~ # ~] in build settings - Section définie par l'utilisateur
Si vous ne parvenez pas à passer à Xcode 11, procédez à une nouvelle extraction de votre projet dans le répertoire des utilisateurs de Macintosh HD with avec le nom du dossier est minimal que possible.
La solution 2 a fonctionné pour moi comme un charme!
J'ai résolu ce problème en définissant le système de génération sur Legacy build system
dans le fichier-> paramètre d'espace de travail -> sélectionner le paramètre d'espace de travail
J'ai fait un script simple pour résoudre temporairement ce problème. https://github.com/gregoryvit/flatter
Il suffit de déplacer tous les fichiers Swift du projet Xcode vers le groupe racine.
J'ai changé le type de build en hérité et cela a également résolu le problème pour moi, à la fois localement et sur notre constructeur CI. Pour moi, cela a été causé lors de la vérification de Podfile.lock et Manifest.lock. Cela pourrait probablement être ignoré dans notre pipeline car nous installons toujours des pods sur CI.
xcode11
-Construction de construction
-défini par l'utilisateur
-add paramètre: USE_Swift_RESPONSE_FILE
-setValue: OUI
En faisant cela, vous activez xcode pour avoir plus de fichiers que ce qui est autorisé. Mais je ne sais pas si cela résout toujours le problème.
Cela m'est arrivé lorsque j'utilise la version bêta de Xcode 11 avec Live Preview. Ensuite, je l'ai résolu en redémarrant Xcode après la disparition de cette erreur.
J'ai résolu ce problème, en déplaçant mon dossier de mon projet Xcode vers la racine mac et en changeant mon nom Folder en moins de caractères.
Terminal: cd /
Remplacez le dossier du nom par BX (exemple).