Xcode se bloque sur “Compiler Swift fichiers source”
Je suis sous Xcode 7.3.1. Lors de la construction de ma Swift en fonction du projet, il se bloque sur "Compiler Swift fichiers source". J'ai essayé plusieurs combinaison de la suppression de DerivedData
, propre, le redémarrage de Xcode, le redémarrage de l'OS X, rien ne semble fonctionner. Des idées?
Lors de la compilation de tout projet, ou juste un seul?
Juste un projet en particulier
Avez-vous une sorte de définitions récursives que le compilateur peut pas être contagieux?
Si vous avez un grand Tableau ou de Dictionnaire des littéraux, assurez-vous de dire Swift le type et ne permettent pas de déduire le type de données.
Lors de la compilation, allez dans le rapport navigator (CMD-8) et vous devriez voir quel fichier source est le goulot d'étranglement. Avoir un coup d'oeil pour tout complexe de lignes de code qui s'appuient fortement sur l'inférence de type – e.g compliqué de tableau ou de dictionnaire des littéraux ou des complexes fonctionnels one-liners.
Juste un projet en particulier
Avez-vous une sorte de définitions récursives que le compilateur peut pas être contagieux?
Si vous avez un grand Tableau ou de Dictionnaire des littéraux, assurez-vous de dire Swift le type et ne permettent pas de déduire le type de données.
Lors de la compilation, allez dans le rapport navigator (CMD-8) et vous devriez voir quel fichier source est le goulot d'étranglement. Avoir un coup d'oeil pour tout complexe de lignes de code qui s'appuient fortement sur l'inférence de type – e.g compliqué de tableau ou de dictionnaire des littéraux ou des complexes fonctionnels one-liners.
OriginalL'auteur Steve Kuo | 2016-07-03
Vous devez vous connecter pour publier un commentaire.
J'ai fait une classe s'étendre. Qui provoque également Swift compilateur de rester coincé dans une boucle sans erreur:
Ohh myy... pourquoi ce n'est pas mis en cache par le compilateur.
Encore ne l'attrape pas. J'ai enlevé un protocole, et de la renommée de la classe, qui s'étendait maintenant. :S
OriginalL'auteur Hai
Merci pour tous les intervenants suggestions. J'ai rétréci vers le bas à un
map
's de fermeture référence à une propriété que j'avais enlevé. Exemple:où
Person
ressemble à quelque chose comme:Tout cela fonctionne très bien. Puis j'ai enlevé
age
tout en gardant la fermeture inchangé. Cela a provoqué Xcode pour devenir désespérément confus. Probablement liée à la Swift est l'inférence de type.Pas exactement le même, mais quelque peu liés. Je viens de passer deux heures à la poursuite d'un accrochage de la compilation qui est descendu à une carte() à l'intérieur d'un print() l'appel (p. ex., print("quelque chose mappé: (quelque chose.map { $0.trucs })"). Fou...
Vous pouvez lire sur des causes semblables sur cocoawithlove.com/blog/2016/07/12/type-checker-issues.html
Désolé, je ne comprends pas... j'ai vu la fonction de suggérer des membres de la
$0
variable. Par exemple, dans l'exemple ci-dessus, si je tape "$0.n" il va suggérer$0.name
. Il peut faire de l'inférence de type de[Person]
->$0: Person
->$0.name
, alors pourquoi ne peut-il pas détecter que$0.age
n'existe pas? Est-ce parce que c'est dans une chaîne de caractères?OriginalL'auteur Steve Kuo
Essayez de nettoyer votre Projet de Dossier de création
Pod Install
ouPod Update
Je pense que 2 est probablement la cause.
Clean
n'est pas sousEditor
, mais en vertu deProduct
Modifié grâce kentrh
MERCI!!!! J'ai vraiment ne vous souhaite que Apple allait ajouter quelque chose comme cela automatiquement, comme un dev mode debug qui s'exécute avant chaque génération. Ou tout simplement fixer quel que soit le raccrochage est dans le dossier de création de la compagnie.
Je suis d'accord Kirkland, j'ai eu besoin pour ce faire de plus en plus fréquemment depuis Xcode 8 a été publié.
OriginalL'auteur Mobile Bloke
Changement "Swift Optimisation du Compilateur Niveau" dans les Paramètres de génération du "module d'optimisation" pour "Seul fichier d'optimisation". Il peut ne pas être votre problème, mais il a résolu le mien j'ai été coincé avec une demi-journée. C'est peut être juste un bug passager dans la récente Xcode version (8.2.1 a été celui que j'ai été en utilisant à la fois, j'ai écrit ce).
OriginalL'auteur KutakMir
J'ai eu le même problème. Dans mon cas, il semble être un résultat de l'application trop nul de coalescence des actions. J'ai été la construction d'un json élément:
Ce ne serait pas la compilation. Lorsque j'ai retiré le néant, la coalescence de sorte qu'il ressemblait à la suite, elle a établi amende.
Je n'ai pas essayer de comprendre le point de coupure pour le nombre d'éléments avant qu'il s'est coincé.
OriginalL'auteur Jeff Evernham
Il semble y avoir différentes causes possibles d'un très long temps de compilation. Coin ou un bord de cas sont partout. Donc, la meilleure façon est d'observer et d'étudier à votre propre cas.
Bien que mentionné par d'autres, dans les commentaires, mais les étapes ci-dessous encore des valeurs plus l'attention de:
Build
tâche. Voir qui fichier source est une grande partie de la compilation du temps.OriginalL'auteur denkeni
Dans mon cas, le problème a été en cours de JSON de l'analyse. J'ai été l'envoi d'une valeur facultative dans un dictionnaire de paramètres au cours de parsing JSON.
OriginalL'auteur Swati Gupta
Regarder le Rapport Navigator m'a aidé à trouver le problème. Dans mon cas, le problème était que j'ai essayé d'ajouter l'auto contraintes de mise en forme à un par programme ajouté sous-vue d'un
UITableView
dans unUITableViewController
.OriginalL'auteur Tamás Sengel
xcode semble avoir un problème de concaténation de plus de 5 cordes.
Voir ceci:
Xcode se fige lorsque vous tentez d'exécuter ce dans un Swift aire de jeux?
La solution a résolu mon problème
OriginalL'auteur Werner Kratochwil
Dans mon cas XCode stucks sur grand dictionnaire littérale:
Le problème a été résolu après le remplacement de la présente partie:
OriginalL'auteur Serhiy
Je crois donc que, dans la plupart des cas, c'est bien connu, dictionnaire littérale type de problème de brouillage.
Code comme ceci:
Être mieux écrit toujours comme ça:
Mais je crois que même la plus courte des littéraux sont problème et à économiser du temps d'attente pour les construire, il est préférable de définir le type de dictionnaire des littéraux donc compilateur n'avez pas à trouver par lui-même, comme il est évident qu'il lutte. PS: je pense que les ingénieurs d'apple ont de sérieux problèmes personnels, ils ont à embaucher des personnes de Jatbrains ou peut-être même de moi 😉 pour se concentrer sur les choses importantes et de ne pas perdre de temps sur des discussions sur la façon de Swift être différent des autres...
OriginalL'auteur Renetik