Comment puis-je utiliser swift in Terminal?

Je lis les nouveautés de Xcode 6 . L’article présente une nouvelle fonctionnalité concernant Xcode 6 et indique:

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 pour écrire un nouveau code dans un environnement de type script. Le REPL est disponible depuis LLDB dans la console de Xcode ou depuis le terminal.

Je veux savoir comment obtenir le REPL?

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

alors vous pouvez faire l’un de ces:

 xcrun swift lldb --repl 

A partir de Xcode 6.1, taper swift dans le terminal lance également le REPL.

Sinon, si vous ne voulez pas gâcher votre environnement de développement actuel, vous pouvez simplement exécuter:

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

É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: Ssortingng = "The width is " 7> let width = 94 width: Int = 94 8> let widthLabel = label + Ssortingng(width) widthLabel: Ssortingng = "The width is 94" 9> :exit GoldCoast:~ macmark$ 

De la même façon que lorsque vous exécutez Swift depuis le terminal, vous pouvez également exécuter des scripts. Utilisez simplement le shebang suivant et lancez votre script. ( Selon Chris Lattner , créateur de Swift)

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

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

 #!/usr/bin/swift let variable: Ssortingng = "ssortingng" print("Test \(variable)") 

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 requirejse

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

Si une chaîne d’outils spécifique est requirejse (comme vous voulez utiliser Swift 2.3 mais que 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 Xcode 7.3.1 se trouve dans /Applications/Xcode7.app

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

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

 xcode-select -p 

Si vous souhaitez utiliser des instantanés fournis par Swift.org , vous ne devez pas manquer l’ installation ici .


comme première réponse par moi dans Exécuter le script rapide du projet Xcode iOS en phase de construction

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

Cela peut également être fait sur les préférences de xcode. il suffit d’aller à xcode -> preferences -> locations.

pour les outils en ligne de commande, sélectionnez simplement la version souhaitée parmi les options de la liste déroulante, reportez-vous à l’image ci-dessous. (swift nécessite que le chemin soit le chemin de xcode6).

écran des outils en ligne de commande

Je laisserai aussi ma réponse précédente ci-dessous.


ce que Kaan a dit et vous pouvez également utiliser un script Apple pour créer une application simple afin que vous puissiez l’utiliser pour basculer.

open apple script> collez le code ci-dessous et exportez-le en tant qu’application, vous pouvez donc passer d’un seul clic au chemin par défaut ou au 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 courir> xcrun swift

avertissement

  1. le script suppose que xcode6-beta et xcode5 sont installés.
  2. Si vous êtes un nouveau développeur qui essaie uniquement xcode6beta, vous n’aurez pas besoin de script ou de chemin de réglage manuellement. lancez simplement xcrun swift car le chemin est déjà défini pour vous.
  3. Lorsque xcode6 sera finalement publié, vous devrez rétablir votre chemin par défaut à partir de cette application simple et ne plus jamais l’utiliser.

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 Python est différent du Python fourni par Apple dans le chemin, swift peut échouer avec ImportError: No module named site . Dans ce cas, assurez-vous d’ export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin avant d’appeler swift .

La commande xcrun utilise la variable d’environnement DEVELOPER_DIR pour remplacer l’installation Xcode actuellement sélectionnée (définie avec xcode-select). Vous pouvez l’utiliser pour construire une seule commande qui s’exécutera rapidement sur la ligne de commande et vous placer dans la REPL. Cela ressemble à ceci:

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

et vous pouvez le nommer simplement «swift»:

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

En guise de remarque intéressante, vous pouvez utiliser le même type d’invocation pour exécuter un script rapide comme si vous utilisiez bash ou python en ajoutant -i:

 #!/usr/bin/env DEVELOPER_DIR=/Applications/Xcode6-Beta.app/Contents/Developer xcrun swift -i println("Hello World!") 

Bien entendu, une fois que Xcode 6 est sorti officiellement et que vous l’utilisez comme outil de développement par défaut, vous pouvez déposer les bits DEVELOPER_DIR = .. et simplement utiliser “xcrun swift”.

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

Si vous obtenez une erreur:

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

juste courir

 xcrun --sdk iphonesimulator8.0 swift 

ou tu peux

 export SDKROOT="iphonesimulator8.0" 

et alors

 xcrun swift 

Utilisez ” xcodebuild -showsdks ” pour répertorier les noms de SDK disponibles.

si vous installez xcode 6.1 , juste

 sudo xcode-select -s /Applications/*your-Xcode-6.1-path.app*/Contents/Developer xcrun swift 

Pour XCode6, exécutez ces commandes:

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

Si vous obtenez une erreur:

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

essayer:

 xcrun swift -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk 

Terminal ouvert,

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

Remarque: Xcode6-Beta6.app doit être remplacé par la version appropriée installée

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

Et,

$ source ~/.bash_profile

$ swift

Voilà!