Le meilleur outil de ligne de commande pour installer et basculer entre plusieurs versions de Xcode.
Si vous recherchez une version d'application de xcodes
, essayez Xcodes.app.
Xcodes fait désormais partie de XcodesOrg
- en savoir plus ici
brew install xcodesorg/made/xcodes
Il s'agit de versions signées par l'ID de développeur et notariées et ne nécessitent pas que Xcode soit déjà installé pour pouvoir être utilisé.
Autres méthodes :
Téléchargez la dernière version à partir de la page Versions. Il s'agit de versions signées par l'ID du développeur et ne nécessitent pas que Xcode soit déjà installé pour pouvoir être utilisé.
mint install XcodesOrg/xcodes
La construction à partir des sources nécessite Xcode 12.0 ou version ultérieure, ce n'est donc pas une option pour configurer un ordinateur à partir de zéro.
git clone https://github.com/XcodesOrg/xcodes
cd xcodes
make install
# or, if /usr/local/ isn't in your PATH
PREFIX=/your/install/directory make install
Lors de l'installation, vous pouvez obtenir le résultat suivant :
swift build
error: terminated(72): xcrun --sdk macosx --find xctest output:
Si cela se produit, cela signifie que vous devez sélectionner une version de Xcode. Vous pouvez le faire avec xcode-select
ou en choisissant une option Outils de ligne de commande dans l'onglet Emplacements des préférences de Xcode.
Installez une version spécifique de Xcode à l'aide d'une commande comme l'une de celles-ci :
xcodes install 10.2.1
xcodes install 11 Beta 7
xcodes install 11.2 GM seed
xcodes install 9.0 --path ~ /Archive/Xcode_9.xip
xcodes install --latest-prerelease
xcodes install --latest --directory " /Volumes/Bag Of Holding/ "
xcodes install --latest --experimental-unxip
Vous serez ensuite invité à saisir votre nom d'utilisateur et votre mot de passe Apple ID. Vous pouvez également les fournir avec les variables d'environnement XCODES_USERNAME
et XCODES_PASSWORD
.
Après une authentification réussie, xcodes enregistrera le mot de passe de votre identifiant Apple dans le trousseau et se souviendra de votre identifiant Apple pour une utilisation future. Si vous devez utiliser un identifiant Apple différent de celui mémorisé, définissez la variable d'environnement XCODES_USERNAME
.
xcodes téléchargera et installera la version que vous avez demandée afin qu'elle soit prête à être utilisée.
(1/6) Downloading Xcode 11.2.0: 100%
(2/6) Unarchiving Xcode (This can take a while)
(3/6) Moving Xcode to /Applications/Xcode-11.2.0.app
(4/6) Moving Xcode archive Xcode-11.2.0.xip to the Trash
(5/6) Checking security assessment and code signing
(6/6) Finishing installation
xcodes requires superuser privileges in order to finish installation.
macOS User Password:
Xcode 11.2.0 has been installed to /Applications/Xcode-11.2.0.app
Si aria2 est installé (il est disponible dans Homebrew, brew install aria2
), alors xcodes l'utilisera par défaut pour les téléchargements. Il utilise jusqu'à 16 connexions pour télécharger Xcode 3 à 5 fois plus rapidement qu'URLSession.
Xcode sera installé par défaut dans /Applications, mais vous pouvez fournir le chemin d'accès à un autre répertoire avec l'option --directory
ou la variable d'environnement XCODES_DIRECTORY
. Toutes les commandes xcodes prennent en charge cette option, comme select
et uninstall
, afin que vous puissiez gérer les versions de Xcode qui ne sont pas dans /Applications. xcodes prend en charge l'installation de toutes vos versions de Xcode dans un seul répertoire, où qu'il se trouve.
Exécutez cette ligne de commande pour afficher les runtimes disponibles
xcodes runtimes --include-betas
Installez le Runtime souhaité (ex. iOS 17.0-beta1)
xcodes runtimes install " iOS 17.0-beta1 "
.xcode-version
Nous recommandons la création d'un fichier .xcode-version
pour déclarer et stocker explicitement la version Xcode à utiliser par votre environnement CI ainsi que par votre équipe.
13.4.1
Lisez la proposition de .xcode-version
.
download <version>
: Téléchargez une version spécifique de Xcodeinstall <version>
: Téléchargez et installez une version spécifique de Xcodeinstalled
: répertorie les versions de Xcode installéeslist
: Répertorie toutes les versions de Xcode disponibles pour l'installationselect
: Changer le Xcode sélectionnéuninstall
: désinstalle une version spécifique de Xcodeupdate
: Mettre à jour la liste des versions disponibles de Xcodeversion
: Imprime le numéro de version de xcodes lui-mêmesignout
: efface le nom d'utilisateur et le mot de passe stockésGrâce au travail incroyable de saagarjhi, Xcodes inclut désormais la possibilité de décompresser jusqu'à 70 % plus rapidement sur certains systèmes.
xcodes install --latest --experimental-unxip
xcodes peut générer des scripts de complétion qui vous permettent d'appuyer sur la touche de tabulation de votre clavier pour compléter automatiquement les commandes et les arguments lors de la saisie d'une commande xcodes. Les étapes d'installation d'un script de complétion dépendent du shell que vous utilisez. Plus d'informations sur les instructions d'installation pour différents shells et l'implémentation sous-jacente sont disponibles dans le référentiel Swift-argument-parser.
Exécutez les commandes suivantes :
mkdir ~ /.oh-my-zsh/completions
xcodes --generate-completion-script > ~ /.oh-my-zsh/completions/_xcodes
Vous aurez besoin de Xcode 13 pour créer et exécuter des xcodes.
Lors de l'exécution de xcodes à partir de Xcode, si vous souhaitez exécuter une commande particulière ou transmettre des arguments, vous pouvez maintenir la touche option enfoncée pour présenter une feuille avec plus d'options. Cela signifie que vous utiliserez Option + Commande + R ou maintenez Option tout en cliquant sur le bouton Exécuter. Ici, vous pouvez ajouter, supprimer et basculer les arguments qui seront transmis à xcodes lors de son lancement.
swift build
swift run
ou des commandes comme swift run xcodes list
swift test
Il existe un Makefile pour aider à créer des xcodes à distribuer. Nous faisons déjà cela pour vous afin de fournir des versions signées et notariées par l'ID de développeur via Homebrew (voir Installation).
# Bump the version number in Version.swift, commit the change, and tag it
vim Sources/XcodesKit/Version.swift
git add Sources/XcodesKit/Version.swift
git commit -m " Bump version to $VERSION "
git tag -asm " $VERSION " " $VERSION "
# Clean first
make clean
# Make a release build of xcodes, sign it, and zip it
make zip
# Create a Homebrew bottle
make bottle VERSION= " $VERSION "
# Notarize the release build
# This can take a while
make notarize
TEAMID= " ABC123 "
# Push the new version bump commit and tag
git push --follow-tags
# Edit the draft release created by Release Drafter to point at the new tag
# Set the release title to the new version
# Duplicate xcodes-$VERSION.mojave.tar.gz and rename to xcodes-$VERSION.arm64_mojave.tar.gz
# Add the xcodes.zip, xcodes-$VERSION.mojave.tar.gz, xcodes-$VERSION.arm64_mojave.tar.gz files to the release
# Publish the release
# Update the Homebrew Bottle: https://github.com/XcodesOrg/homebrew-made/blob/master/Formula/xcodes.rb
Les décisions de conception notables sont enregistrées dans DECISIONS.md. Le flux d'authentification Apple est décrit dans Apple.paw, qui vous permettra de jouer avec les points de terminaison de l'API impliqués dans l'utilisation de l'application Paw.
xcode-install
et fastlane/spaceship méritent tous deux d'être félicités pour avoir compris les aspects difficiles de ce qui rend cela possible.
Matt Kiazyk - Twitter