web-dev-qa-db-fra.com

Xcode 6 n'est pas auto-complétant dans Swift

J'essaie d'importer différentes bibliothèques dont je ne me souviens plus du nom exact. Malheureusement, Xcode 6 (en utilisant Swift) ne les complète pas automatiquement comme cela a été fait dans Xcode 5 en utilisant objective-c. 

Par exemple:

ALAssetsLibrary
MPMediaPlayer

etc.

Je suis obligé de chercher le nom exact du framework sur Google, puis de revenir en arrière et de copier-coller.

En général, l'auto-complétion fonctionne très mal. Est-ce que je fais quelque chose de mal dans Xcode 6?

Devrais-je définir des indicateurs dans les paramètres pour que cela fonctionne?

63
Avner Barr

Ce correctif des forums Apple dev fonctionne pour moi. J'ai des problèmes de performance/autocomplete depuis la version bêta 5 je pense et maintenant xcode 6.1/Yosemite sur mon ancien MBP 2010 fonctionne parfaitement.

  1. Quittez Xcode.
  2. Redémarrez l'ordinateur (pour effacer tous les caches en mémoire) .
  3. Supprimez le contenu du dossier DerivedData (~/Library/Developer/Xcode/DerivedData)
  4. [Ceci est le mouvement clé:] Supprimez ~/Bibliothèque/Caches/com.Apple.dt.Xcode.

Maintenant lancez Xcode une fois de plus…

143
bWlrYWphdWhvbmVu

C’est la même chose que la réponse correctement choisie ci-dessus mais qui vient d’être légèrement facilitée. 

J'ai eu à le faire plusieurs fois et lors de mes tests, vous pouvez ignorer le redémarrage de votre Mac.

1) Fermer Xcode

2) Terminal -> rm -rf ~/Bibliothèque/Développeur/Xcode/DerivedData/*

3) Terminal -> rm -rf ~/Library/Caches/com.Apple.dt.Xcode

Redémarrez Xcode et tout devrait revenir à la normale.

67
Travis M.

Je constate que si ma cible de déploiement est 8.1, la saisie semi-automatique fonctionne toujours. Mais ce n'est pas fiable si ce n'est pas le cas.

enter image description here

17
Steve Rosenberg

Le moyen le plus simple d'améliorer la vitesse de xCode et de réutiliser l'astuce consiste à créer un alias et à l'appeler chaque fois que vous en avez besoin:

1.Open Terminal: 
2. Tapez sur votre terminal (ou copiez et collez): 
alias xcodeclean="rm -frd ~/Library/Developer/Xcode/DerivedData/* && rm -frd ~/Library/Caches/com.Apple.dt.Xcode/*" 3.La dernière étape consiste à saisir xcodeclean (rappelez-vous: la prochaine fois que vous souhaitez nettoyer le xCode, appelez simplement xcodeclean

5
Dardan

Cela m’arrive assez souvent, et oui, il est utile d’avoir la version bêta la plus récente. Malheureusement, vous devez télécharger le plus récent via le portail des développeurs à chaque fois. 

J'ai également remarqué que l'auto-complétion disparaissait lorsque le compilateur Swift avait du mal à compiler quelque chose même s'il ne contenait pas d'erreur et que si vous commentiez ou supprimez la bonne ligne de code, la fonctionnalité revient comme prévu. Très certainement résultant d'un logiciel de qualité bêta.

La semaine dernière, je me frappais la tête contre le mur parce que le compilateur Swift ne jouait pas Nice avec la fonction sqrt(). Espérons que ces problèmes seront résolus au moment de la publication complète.

Désolé, il n'y a pas encore de véritable 'solution'!

3
jaco129

Parfois, cela ne se termine pas automatiquement pour moi non plus. Je pense que cela est dû au fait que Xcode 6 est toujours en version bêta . Btw, avez-vous mis à jour Xcode 6 beta? Le dernier en date est la beta 5. Je n'ai pas remarqué depuis un certain temps que l'App Store ne met pas à jour la version bêta de Xcode 6; je suis donc resté bloqué avec la version bêta 1 pendant un certain temps. Si vous ne l'avez pas mis à jour, faites-le. Peut-être que cela aidera avec des bugs comme celui-ci.

2
adam10603

Je trouve cela extrêmement agaçant. La réponse publiée pour effacer les données dérivées fonctionne à l'épreuve des balles, mais vous devez fermer xcode avant d'effacer le dossier. J'ai fait un petit script pour faire le travail pour moi. 

#!/bin/bash

echo "Start fixing xCode"
echo "Closing xCode"
osascript -e 'tell app "Xcode" to quit'
sleep 2
echo "Clearing DerivedData..."
rm -rf "$HOME/Library/Developer/Xcode/DerivedData"
sleep 2
echo "Launch xCode again"
osascript -e 'tell app "Xcode" to run'
echo "Finish fixing xCode"

Maintenant, chaque fois que xCode me donne un doigt, je le lance simplement. Le problème qui vous oblige à tout recompiler persiste cependant.

MODIFIER

Grâce aux suggestions de @Nikolay Spassov, j’ai ajusté le script pour capturer votre répertoire personnel au lieu de le modifier. Donc, l'étape ci-dessous n'est plus nécessaire.

OLD Step

Veuillez noter que vous devez changer la partie '/ Users/iphonedev5 ...' pour la faire fonctionner dans votre système :)

2
hris.to

J'ai essayé de changer les polices et la couleur par défaut et cela a fonctionné. Je l'ai normalement sur MidNight2.

1
Progr3ss

J'ai essayé toutes ces solutions, mais en vain - rien n'a fonctionné. Dans ma situation, j’ai une classe Swift "A" qui, après une fusion importante dans ma branche, ne pouvait plus voir plusieurs autres fichiers Swift ("B" - "F") situés dans un groupe différent de mon projet.

Ce qui est intéressant, c’est que "A" appartient à la fois au projet principal Target, mais également à la cible UnitTest alors que "B", "C", "D", "E" et "F" SEULEMENT appartenaient à la cible principale du projet. 

En les incluant pour appartenance aux UnitTests, tous également un Xcode soudain peut maintenant voir ces classes correctement - doit-il appartenir aux mêmes cibles, peut-être?

Les éléments corrigés sont les suivants: 1) La complétion de code fonctionne à présent . 2) Les petits marqueurs d'erreur rouges qui se trouvent à côté des numéros de ligne (erreurs "d'identificateur non résolu") sont également clarifiés. Cette dernière était très agaçante pour moi car lorsque vous construisez CMD-B, ils s’éclaircissent et le code compile parfaitement/fonctionne parfaitement. Cependant, effectuez TOUT changement (ajoutez un seul espace blanc, par exemple) et ceux-ci réapparaîtront tout le temps (et, bien sûr, l'achèvement de code cesserait également de fonctionner).

Je ne sais pas s'il s'agit d'un problème de Swift ou de Xcode, mais c'est ce qui l'a résolu pour moi.

0
BonanzaDriver

Si vous ne trouvez pas tous les dossiers mentionnés ci-dessus ou si vous êtes trop paresseux pour taper dans le terminal, essayez ce qui suit:

• Créer un nouveau dossier sur le bureau

• Allez dans votre dossier d’application, copiez l’application Xcode.

• Collez l'application dans le dossier que vous avez créé sur le bureau.

* Revenez dans le dossier de l'application et supprimez Xcode du dossier de l'application. Vous pouvez supprimer l'application Xcode à l'aide de cleanMyMac2 ou de toute autre application de nettoyage afin que tous les fichiers tels que com.Apple.Xcode et d'autres avec go it.

• Après avoir redémarré votre ordinateur

• Allez dans le dossier que vous avez créé au début ouvert Xcode, vous verrez les termes et conditions simplement accepter et démarrer vos projets

Bonne chance

0
bawasuru