web-dev-qa-db-fra.com

Xcode 10 échoue avec 'Command CompileSwift échoué avec un code de sortie différent de zéro

J'ai récemment mis à jour Xcode vers la version 10 et j'ai commencé à recevoir une erreur étrange lorsque je tentais de construire mon projet. Je suis actuellement sur Swift 4.0 et j'ai essayé de passer à la version 4.2 de Swift. Mais quand j'ai fait, j'ai reçu la même erreur dans beaucoup de mes frameworks.

La commande Compile Swift a échoué avec un code de sortie différent de zéro

Jusqu'à présent, j'ai supprimé le dossier dérivé. A mis à jour tous les pods, a également supprimé tous les pods et les a réinstallés à l'aide des commandes de terminal ci-dessous.

Sudo gem install cocoapods-deintegrate cocoapods-clean
pod deintegrate
pod clean
pod install

Cela n'a pas fonctionné pour résoudre mon problème. Cependant, j'ai trouvé quelque chose qui pourrait fonctionner, qui consistait à ajouter une architecture arm64 dans Build Setting -> valid architectures et à activer le code automatique. Cependant, lorsque j'ai vérifié qu'elle était déjà présente et que la signature de code était déjà activée. 

De plus, j'ai quelques autres erreurs de construction liées aux frameworks. 

SwiftMessages 

La valeur de type 'SwiftMessages.Config' n'a pas de membre 'presentationContext'

WhatsNewKit 

Argument manquant pour le paramètre 'backgroundColor' dans l'appel`

J'ai ouvert des problèmes avec les développeurs de chacun de ces cadres pour demander de l'aide avec ces problèmes.

Issue sur SwiftMessage GitHubIssue sur WhatsNewKit GitHub

Lorsque je clique sur presentationContext, cela m'amène à la structure du cadre SwiftMessages. Habituellement, lorsque je reçois l’avertissement «n’a aucun membre», je ne peux pas cliquer pour voir l’endroit original où il existe.

Je suppose que cela a quelque chose à voir avec les gousses de cacao, mais je n'ai pas encore trouvé de solution. Que puis-je faire pour corriger ce problème? Si quelqu'un pouvait nous aider, nous serions profondément reconnaissants d'être coincés là-dessus depuis un jour maintenant.

Mise à jour: Les deux dernières versions de frameworks étaient pour Swift 4.2. Lorsque j'ai remplacé la version de chaque framework par celle de Swift 4.0, le projet a été créé.

14
Spencer Shelton

pour le pod SwiftMessages si votre application n'est pas Swift 4.2, vous devez utiliser la version 5.01 pod 'SwiftMessages', '~> 5.0.1'

et cela fonctionnera comme un charme

3

Assurez-vous que la version du projet Swift Language Version est correcte. SwiftMessages 6.0.0 fonctionne avec Swift 4.2 .  Xcode->Project->Target->Build Settings->Swift Language Version

3
Karim Karimov

J'ai eu plusieurs cadres (homegrown) ainsi que mon application. D'une certaine manière, ils ont fini par être désynchronisés jusqu'à la version Swift. Assurez-vous que tous les frameworks ont la même version. Dans mon cas, ils devaient tous être réglés sur Swift 4.2. Si vous n'avez pas encore migré vers la version 4.2, souvenez-vous que Xcode vous aide: Éditer -> Convertir -> À la syntaxe Swift actuelle.

2
Phantom59

Définissez la version Swift sur 4.2, puis désintégrez le pod, installez le pod, corrigez ce problème pour moi. Merci @ alejandro-iván

2
yybot

Toutes les réponses m'ont été utiles. Dans mon cas, je n’installe que des cadres manuellement, mais ce genre de problème se produit également. J'ai essayé toutes les réponses et je continuais à avoir ce problème pendant la construction. Curieusement, pendant le codage, je pouvais cliquer avec cmd et résoudre tous les composants "manquants". J'ai également nettoyé et supprimé des données dérivées, redémarré Xcode, etc.

Je l'ai finalement fait fonctionner en induisant ces étapes supplémentaires:

Sur each du projet-cadre/objectifs (y compris le mien):

  • Vérifier la cohérence de la version de Swift (4.2 dans mon cas)
  • Définissez Build pour Active Architecture Only sur No
  • Définissez Architecture valide sur arm64, armv7 (pour correspondre au projet de base) 
  • Définir le niveau d'optimisation sur Aucun (pour le débogage)
  • Définissez le mode de compilation sur entier
1
Tommie C.

Assurez-vous que les paramètres de construction de votre projet Niveau d'optimisation sont dans Pas d'optimisation [-Onone].

 enter image description here

1
ram

J'ai résolu de cette façon:

  1. Commentez tous les pods de votre fichier .pod
  2. Depuis votre terminal, lancez la commande pod install --no-repo-update
  3. Open Xcode effectuer un nettoyer et reconstruire le projet
  4. Maintenant, ouvrez votre fichier .pod et décommentez la première bibliothèque
  5. Depuis votre terminal, lancez la commande pod install

Répétez les étapes 2 - 3 - 4 -5 pour chaque bibliothèque de commentaires de votre fichier .pod

J'espère que cela peut être de votre aide.

0
Diego