Comment utiliser swift en Terminal?

j'ai lu Ce qui est nouveau dans Xcode 6 . L'article introduit de nouvelles fonctionnalités sur Xcode 6, et il dit:

Ligne De Commande

Le débogueur de

Xcode inclut 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 pour écrire un nouveau code dans un environnement similaire à un script. Le REPL est disponible au sein de LLDB en Console Xcode, ou depuis le Terminal.

je veux savoir comment obtenir le REPL?

105
demandé sur timbo 2014-06-03 13:04:36

12 réponses

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

alors vous pouvez faire l'un de ces:

xcrun swift 
lldb --repl

à partir du Xcode 6.1-taper swift dans le terminal lance la REPL ainsi.

131
répondu Kaan Dedeoglu 2014-10-21 15:25:54

alternativement, si vous ne voulez pas gâcher votre environnement dev actuel, vous pouvez simplement exécuter:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift
58
répondu Sebastien Windal 2015-05-28 23:25:27

Étape 1: Terminal Ouvert

É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$ 
37
répondu MacMark 2014-07-12 21:41:55

de la même manière que D'exécuter Swift à partir du Terminal, vous pouvez également exécuter des scripts. Utilisez juste le shebang suivant, et lancez votre script. ( selon Chris Lattner , créateur de Swift)

#!/usr/bin/env xcrun swift -i
15
répondu johankj 2014-06-05 18:27:35

dans le Xcode 6.1.1 avec les outils en ligne de commande installés, vous pouvez exécuter des scripts en vous référant directement à /usr/bin/swift de la manière suivante:

#!/usr/bin/swift

let variable: String = "string"
print("Test \(variable)")
15
répondu Markus Rautopuro 2015-12-23 16:29:33

si quelqu'un se soucie d'un simple script Swift shebang:

#!/usr/bin/env xcrun --sdk macosx swift

si une version cible spécifique est requise

#!/usr/bin/env xcrun --sdk macosx swift -target x86_64-macosx10.11

si une chaîne d'outils spécifique est nécessaire (comme vous voulez utiliser Swift 2.3 mais vous utilisez Xcode 8)

#!/usr/bin/env xcrun --toolchain com.apple.dt.toolchain.Swift_2_3 --sdk macosx swift -target x86_64-macosx10.11

si vous voulez utiliser Swift 2.2 dans votre Xcode 7.3.1, supposons que le Xcode 7.3.1 est situé à /Applications/Xcode7.app

sudo xcode-select -s /Applications/Xcode7.app/
xcrun --sdk macosx swift

à partir de maintenant sur le répertoire de développeur actif par défaut changé, vous pouvez vérifier qu'en utilisant:

xcode-select -p

si vous voulez utiliser les snapshots fournis par Swift.org , vous ne devez pas manquer Installation ici .


comme j'ai répondu pour la première fois dans exécuter le script swift à partir du projet Xcode iOS comme construire phase

9
répondu Puttin 2017-05-23 12:17:43

** mise à jour de xcode6 beta 4 **

cela peut aussi être fait sur les préférences xcode. il suffit d'aller à xcode -> préférences -> localisations.

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

command line tools screen

je vais laisser ma réponse précédente ci-dessous aussi.


ce Kaan dit et vous pouvez également utiliser un apple script pour faire simple application de sorte que vous pouvez utiliser pour basculer d'avant en arrière.

ouvrir le script apple > coller ce code ci-dessous et l'exporter comme une application de sorte qu'avec un seul clic vous pouvez passer à chemin par défaut ou chemin bêta (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écuter > xcrun swift

avertissement

  1. le script suppose que vous avez installé xcode6-beta et xcode5.
  2. si vous êtes un nouveau développeur qui essaie seulement xcode6beta vous n'aurez pas besoin de script ou de chemin de paramétrage manuellement. il suffit d'exécuter xcrun swift car le chemin est déjà défini pour vous.
  3. lorsque xcode6 est finalement libéré, vous aurez besoin de réinitialiser votre chemin de retour à par défaut à partir de cette application simple et ne jamais utiliser de nouveau.
8
répondu nsuinteger 2014-08-28 07:09:14

après avoir installé la version officielle de Xcode 6.1, il y a une commande swift dans /usr/bin/swift .

gardez à l'esprit que si vous avez un Python différent du Python fourni par Apple dans le chemin, swift peut échouer avec ImportError: No module named site . Dans ce cas, assurez-vous de faire export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin avant d'appeler swift .

6
répondu juandesant 2017-03-03 14:31:24

la commande xcrun utilisera la variable D'environnement DEVELOPER_DIR pour remplacer L'installation Xcode actuellement sélectionnée (telle que définie avec xcode-select). Vous pouvez utiliser cela pour construire une seule commande qui exécutera swift sur la ligne de commande et vous mettra dans la REPL. Cela ressemble à ceci:

/usr/bin/env DEVELOPER_DIR=/Applications/Xcode6-Beta.app/Contents/Developer xcrun swift 

et vous pouvez l'appeler simplement "swift":

alias swift="/usr/bin/env DEVELOPER_DIR=/Applications/Xcode6-Beta.app/Contents/Developer xcrun swift"

il est intéressant de noter, vous pouvez utiliser le même type d'invocation pour exécuter un swift script tout comme vous utiliseriez bash ou python en ajoutant a - i:

#!/usr/bin/env DEVELOPER_DIR=/Applications/Xcode6-Beta.app/Contents/Developer xcrun swift -i

println("Hello World!")

bien sûr, une fois que Xcode 6 est publié officiellement et que vous passez à cela comme outils de développement par défaut, vous pouvez laisser tomber le DEVELOPER_DIR=.. bits et il suffit d'utiliser "xcrun swift".

5
répondu Jay Lyerly 2014-06-12 13:44:46

assurez-vous d'installer xcode 6.0 ,mais pas 6.1

si vous obtenez une erreur:

<unknown>:0: error: the SDK 'MacOSX10.9.sdk' does not support Swift

il suffit d'exécuter

xcrun --sdk iphonesimulator8.0 swift

ou vous pouvez

export SDKROOT="iphonesimulator8.0" 

et puis

xcrun swift

Utilisation", xcodebuild -showsdks " pour obtenir la liste des SDK noms.

si vous installez xcode 6.1 , juste

sudo xcode-select -s /Applications/*your-Xcode-6.1-path.app*/Contents/Developer
xcrun swift
4
répondu liu lei 2014-09-29 11:02:02

pour XCode6, exécutez ces commandes:

$ sudo xcode-select -s /Applications/Xcode.app/Contents/Developer/

$ xcrun swift

si vous obtenez une erreur:

<unknown>:0: error: the SDK 'MacOSX10.9.sdk' does not support Swift

, essayez:

xcrun swift -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk
2
répondu Vinicius Miana 2014-09-25 11:48:56

ouvrir un Terminal

$ sudo xcode-select -switch /Applications/Xcode6-Beta6.app/Contents/Developer

avis: le Xcode6-Beta6.app doit être remplacé par la version appropriée que vous avez installée

alors mettez cette ligne alias swift='xcrun swift' à ~/.bash_profile

et,

$ source ~/.bash_profile

$ swift

voilà!

1
répondu Johnny Zhao 2014-08-25 03:06:44