Je reçois cette erreur sur archive:
Commande/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc a échoué avec le code de sortie 1
Comment le résoudre?
S'il vous plaît voir la capture d'écran.
Ce problème se produit lorsque le niveau d'optimisation Swift n'est pas défini sur None pour Release. Définissez la valeur sur Aucun et le problème disparaît.
MODIFIER
Après la mise à niveau vers Xcode 6.1, ces instructions posaient d'autres problèmes lors de l'archivage (la compilation pour le débogage/le périphérique fonctionnait correctement). Définir l'optimisation sur Fastest m'a permis d'archiver à nouveau. Il y a des problèmes apparents avec Swift lors de la compilation (archivage en particulier).
Impossible d'archiver le projet de travail 6.0.1 Swift dans Xcode 6.1/Erreur de segmentation: 11
EDIT Je ne pouvais pas financer l'onglet Paramètres de construction avant d'avoir lu cette réponse.
Cela m’est arrivé lorsque j’avais deux des mêmes fichiers et quand j’étais absent, je ne savais pas que j’avais supprimé. J'ai cliqué sur le message d'erreur, et juste au-dessus de l'erreur, il vous indique quel fichier vous avez plus d'un ou est manquant.
Vous pouvez cliquer sur le produit dans la navigation et choisir le bouton "Nettoyer"; il nettoiera toute erreur de compilation dans votre projet. Ensuite, vous pouvez déboguer pour la dernière erreur.
La référence des fichiers supprimés est conservée dans la phase de construction et c’est pourquoi elle génère cette erreur. Supprimer la référence à partir de là aussi.
Projet> Cible> Phase de construction
Sous cette section, vous trouverez vos fichiers supprimés en rouge. Supprimer ces fichiers, l'erreur sera résolue.
Je ne suis pas sûr qu'il ait une solution… .. Je vous recommande de vérifier les différences entre votre dernier commit git, et de commenter/désactiver les modifications.
Dans mon cas, mon code était
let anArray = ResultDict["ResultSet"] as [[NSDictionary : AnyObject]]
for aDict : NSDictionary in anArray {
let anObject = ObjectType(ObjectDict: aDict)
objectList.addObject(aDict)
}
pas d’avertissement sur la ligne, j’ai eu la même erreur de compilation de sortie 1 puis je l’ai changée en une copie ci-dessous.
let anArray = ResultDict["ResultSet"] as [[NSDictionary : AnyObject]]
for aDict in anArray {
let anObject = ObjectType(ObjectDict: aDict)
objectList.addObject(aDict)
}
Dans mon cas, cela était dû à des fichiers en double, utilisant le même nom, dans le répertoire de mon projet. Dès que je les ai enlevés, l'erreur a disparu.
Il m'est arrivé de ne pas mettre la parenthèse à la fin de l'appel d'une fonction:
let var = self.getNextPrimeNumber
résolu par:
let var = self.getNextPrimeNumber()
Si vous utilisez Core Data
:
J'avais une entité Core Data pour laquelle j'ai créé les sous-classes NSManagedObject
(avec l'aide de Xcode). De plus, l'entité a été configurée pour générer le code automatiquement (voir capture d'écran), donc 2 classes existaient lors de l'exécution. Il suffit de basculer l’option sur Manuel/Aucun et elle ne le générera pas.
un cas de plus qui peut conduire à cette erreur qui m'a pris juste des heures à dépister: un initialiseur disponible qui renvoie toujours nil.
j'ai eu un initialiseur qui ressemblait à ceci:
init?(object: MyObject) {
if object.importantProperty {
// initialize
}
return nil
}
quand ce que je voulais dire était:
init?(object: MyObject) {
if object.importantProperty {
// initialize
}
else {
return nil
}
}
réparer l'initialiseur a fait disparaître l'erreur.
Cette erreur s'est produite pour moi après avoir constaté que quelques-uns de mes fichiers .Swift se trouvaient inexplicablement dans le mauvais répertoire - un niveau au-dessus du répertoire de mon projet Xcode. Quand j'ai remarqué cela, je les ai déplacés dans le répertoire principal du projet et nettoyé le projet, pensant que tout irait bien. Cependant, lors de la construction du projet, l'erreur "échec avec code de sortie 1" mentionnée ci-dessus a été mentionnée. Juste au-dessus du message d'erreur, il répertoriait les fichiers que je venais de déplacer, indiquant qu'il ne pouvait pas les trouver dans le répertoire où ils se trouvaient. En plus du message d'erreur, les fichiers que j'ai déplacés étaient maintenant affichés en rouge dans le volet de navigation de fichier.
Pour chacun des fichiers en question, voici ce que j’ai fait pour résoudre le problème: , qui ouvre une sous-fenêtre d'attributs de fichier, - Cliquez sur la petite icône de dossier située en-dessous où il est indiqué "Emplacement" dans la sous-fenêtre d'attributs de fichier. les changements ci-dessus pour vraiment faire quelque chose.
Je viens d'avoir la même chose se produire. J'ai traqué la cause à un fichier qui a causé l'erreur même lorsqu'il est vide. En examinant le fichier, j'ai découvert qu'il avait un mauvais jeu de caractères. Lorsque je le règle sur UTF-8, l'erreur disparaît. Je pense qu'il décodait avec le mauvais jeu de caractères.
De cela, je suppose que l'erreur indique simplement qu'il s'est passé quelque chose pour lequel le compilateur n'était pas préparé. Désolé, ce n'est pas très utile pour la plupart des gens, mais cela peut aider de vérifier vos jeux de caractères.
cette erreur provient de fichiers manquants afin que le compilateur ne puisse pas trouver les fichiers et continuer à alerter . Suivez ces étapes pour reconstruire votre application:
Cela m'est arrivé lorsque j'ai utilisé la fonction statique inline de Swift file
La fonction ressemble à ceci
static inline void openURLInSafari(NSString * _Nonnull urlString) {
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:urlString]];}
dans mon cas, dans les paramètres de construction de votre projet cible, dans Other Swift Flags, supprimez la chaîne "-serialize-debugging-options" entrez la description de l'image ici
À ma façon, l'erreur était due à UIDevice.currentDevice()
dans ((UIDevice.currentDevice().systemVersion as NSString).floatValue >= 8.0)
Après avoir commenté, tout commence à bien fonctionner.
XCode 7.2
Dans mon cas, l'erreur résultait de fichiers manquants générés par Xcode. J'ai essayé le nettoyage régulier Opt+Shift+K et cela n'a pas effacé toutes les erreurs. J'ai trouvé un article sur le site Apple Developer qui recommandait d'aller dans le menu Produit de Xcode, en maintenant la touche opt enfoncée et en sélectionnant Nettoyer le dossier de construction. Cela semble être une construction plus complète car il ouvre une boîte de dialogue modale pour que vous puissiez la confirmer.
Une des raisons possibles est que vous avez peut-être supprimé un fichier sans en supprimer les références. Cela va gâcher le fichier pbxproj. Je vérifierais pour voir si c'est le cas.
J'avais une résolution très similaire à RyanM , où, avec un excès d'orgueil, j'ai essayé d'assigner une variable à la valeur par défaut d'une fonction interne:
Ne réussit pas à compiler (bien que cela ne plante pas SourceKit):
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
func itemCell(_ indexPath: IndexPath = indexPath) -> UITableViewCell {//...}
Réussit:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
func itemCell(_ indexPath: IndexPath) -> UITableViewCell {//...}
cochez "Pods de développement". Dossier de tous les chemins répertoriés.
J'ai rencontré cette erreur après avoir effectué une fusion de git. J'ai résolu de nouveaux avertissements Xcode et le projet peut être compilé.
Xcode 7.2.1 est utilisé dans mon cas.
J'ai donc eu ce qui précède et je l'ai réduit à un problème de TFS lié au verrouillage du fichier, mais uniquement lorsque j'ai collé ou effectué des modifications autres que de petites copies ou une dactylographie manuelle. J'ai remarqué que le fichier original se compilerait, mais mes modifications non, même si elles étaient syntaxiques correctes. Également lié, impossible d'enregistrer le document: xcode Le document "..." n'a pas pu être enregistré
Le correctif pour les deux était:
Voila. Manière paresseuse de contourner le problème du verrouillage de fusion. Apparemment, les fichiers complets sont parfaits, contrairement aux modifications. Partagé puisque les autres réponses ne semblent pas être aussi paresseuses que cela. ;) Remarque: je soupçonne qu'un caractère non-UTF-8 a fait son chemin quelque part, mais les pâtes fonctionnaient dans les versions antérieures, donc je ne sais pas où, ni si cela est pertinent.