111 votes

Comment puis-je utiliser swift dans le Terminal ?

Je lis Quoi de neuf dans Xcode 6 . L'article présente quelques nouvelles fonctionnalités de Xcode 6, et il dit :

Ligne de commande

Le débogueur de Xcode comprend une version interactive du langage Swift, connue sous le nom de REPL (Read-Eval-Print-Loop). Utilisez la syntaxe Swift pour évaluer et interagir avec votre application en cours d'exécution ou écrire du nouveau code dans un environnement de type script. Le REPL est disponible à partir de LLDB dans la console de Xcode, ou à partir de Terminal.

Je veux savoir comment obtenir le REPL ?

3 votes

Voici un article que j'ai écrit à ce sujet. medium.com/swift-programming/

136voto

Kaan Dedeoglu Points 4239
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

alors vous pouvez faire l'une de ces choses :

xcrun swift 
lldb --repl

A partir de Xcode 6.1 - typage swift dans le terminal lance également le REPL.

3 votes

...et pour quitter, tapez Ctrl + d .

56voto

Sebastien Windal Points 794

Alternativement, si vous ne voulez pas perturber votre environnement de développement actuel, vous pouvez simplement exécuter :

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift

31 votes

Ou bien, vous pouvez même aller plus loin et ajouter ceci à votre ~/.bash_profile : alias swift="/Applications/Xcode6-Beta.app/Contents/Developer/Tool‌​chains/XcodeDefault.‌​xctoolchain/usr/bin/‌​swift"

6 votes

Pour pouvoir utiliser le SDK OS X, vous devez également indiquer le chemin d'accès à celui-ci : /Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/‌​XcodeDefault.xctoolc‌​hain/usr/bin/swift -sdk /Applications/Xcode6-Beta.app/Contents/Developer/Platforms/M‌​acOSX.platform/Devel‌​oper/SDKs/MacOSX10.1‌​0.sdk

0 votes

Merci pour l'idée, David. Je l'ai ajouté au profil, mais je continue à obtenir le message "No such file or directory" (pas de fichier ou de répertoire de ce type), alors qu'il est bien là et que les permissions sont les suivantes -rwxr-xr-x@ 1 mark2 admin 33557440 31 May 14:43 swift . Je ne suis pas très fort en unité. Quelqu'un peut-il voir ce qui ne va pas ?

46voto

MacMark Points 1663

Étape 1 : Ouvrir le terminal
Étape 2 : Tapez "swift".
Étape 3 : Il n'y a pas d'étape 3

Exemple :

GoldCoast:~ macmark$ swift
Welcome to Swift!  Type :help for assistance.
  1> println("Hello, world")
Hello, world
  2> var myVariable = 42
myVariable: Int = 42
  3> myVariable = 50
  4> let myConstant = 42
myConstant: Int = 42
  5> println(myVariable)
50
  6> let label = "The width is "
label: String = "The width is "
  7> let width = 94
width: Int = 94
  8> let widthLabel = label + String(width)
widthLabel: String = "The width is 94"
  9> :exit

GoldCoast:~ macmark$

0 votes

Bien que vous puissiez continuer à utiliser xcrun swift à partir de Swift 2.1, vous pouvez simplement exécuter swift à partir de la ligne de commande.

0 votes

Mon exemple date de la version 1.0 de Swift, en juillet 2014. Il fonctionnait sans xcrun depuis toujours pour moi.

15voto

Johan K. Jensen Points 1179

De la même manière que pour l'exécution de Swift depuis le Terminal, vous pouvez également exécuter des scripts. Utilisez simplement le shebang suivant, et exécutez votre scripts. ( D'après Chris Lattner , créateur de Swift)

#!/usr/bin/env xcrun swift -i

6 votes

Dans le cadre de XCode 6 Beta 5, la fonction -i a été supprimé et conduira à une erreur. Il suffit de le laisser aller et d'utiliser #!/usr/bin/env xcrun swift à la place.

0 votes

Tous ceux qui veulent jouer avec Swift 2.3 dans Xcode 8 ne doivent pas manquer stackoverflow.com/a/36254848/1298043

8voto

nsuinteger Points 631

** mise à jour à partir de xcode6 beta 4 **

cela peut également être fait dans les préférences de xcode. allez simplement dans xcode -> préférences -> emplacements.

pour les outils en ligne de commande, il suffit de sélectionner la version souhaitée dans la liste déroulante des options, voir l'image ci-dessous. (swift exige que le chemin soit celui de xcode6).

command line tools screen

Je vais laisser ma réponse précédente ci-dessous également.


ce que Kaan a dit et vous pouvez également utiliser un script d'apple pour faire une application simple afin que vous puissiez l'utiliser pour basculer entre les deux.

ouvrir apple script coller le code ci-dessous et l'exporter en tant qu'application pour qu'en un seul clic vous puissiez passer au chemin par défaut ou au chemin beta (pour utiliser swift)

set xcode6Path to "xcode-select -switch /Applications/Xcode6-Beta.app/Contents/Developer"
set xcodeDefaultPath to "xcode-select -switch /Applications/Xcode.app/Contents/Developer"

display dialog "set xcode sdk path to " buttons {"xcode 6", "default"} default button 1
copy result as list to {buttonPressed}
if buttonPressed is "default" then
    try
        do shell script xcodeDefaultPath with administrator privileges
    end try
else
    try
        do shell script xcode6Path with administrator privileges
    end try
end if

puis exécutez > xcrun swift

clause de non-responsabilité

  1. Le script suppose que vous avez installé à la fois xcode6-beta et xcode5.
  2. si vous êtes un nouveau développeur qui essaye sólo xcode6beta vous n'aurez pas besoin de script ou de définir le chemin manuellement. exécutez simplement xcrun swift car le chemin est déjà tracé pour vous.
  3. quand xcode6 sera finalement publié, vous devrez réinitialiser votre chemin pour revenir à par défaut de cette simple application et ne plus jamais l'utiliser.

0 votes

J'avais installé XCode 5 et j'ai maintenant "mis à jour" (=remplacé) vers XCode 6. Y a-t-il un moyen de ramener 5.x maintenant ? Avec cette solution ?

0 votes

Que voulez-vous dire par ramener la version 5.x ? xcode6 GM ou appstore release remplacera xcode5.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X