Documentation

Un problème ? Trouvez d’abord la bonne procédure

De la connexion à un Mac mini physique dédié aux builds, à la gestion de votre location et au dépannage. Recherchez un terme ou une commande pour trouver la section correspondante.

01 / Première connexion

Vérifiez l’adresse, puis choisissez SSH ou le bureau à distance

Une fois la livraison effectuée, vérifiez l’adresse de l’hôte, le nom d’utilisateur et les méthodes de connexion dans les détails de l’instance, sur la console. Les variables des commandes d’exemple ne sont pas des identifiants réels : remplacez-les par les valeurs de votre instance avant de lancer les commandes.

Connexion SSH par clé

Générez une paire de clés sur votre ordinateur et ajoutez la clé publique dans la console. Gardez la clé privée sur votre appareil. Vérifiez que l’instance a bien été livrée et que la clé lui est associée, puis connectez-vous avec l’adresse et le nom d’utilisateur indiqués dans les détails de l’instance.

ssh-keygen -t ed25519
ssh -i ~/.ssh/id_ed25519 "$USER@$HOST"

USER et HOST sont des variables d’environnement à définir sur votre machine. Lors de la première connexion, vérifiez l’empreinte de l’hôte : ne passez pas cette étape.

Bureau à distance VNC

Pour utiliser Xcode, un simulateur ou les réglages système, connectez-vous au bureau à distance selon les instructions des détails de l’instance dans la console. Avant de vous connecter, vérifiez l’état de l’instance, puis l’adresse d’affichage et les identifiants d’accès.

Si l’image est très saccadée, réduisez la résolution ou la profondeur de couleur du client et vérifiez la stabilité de votre réseau. Ne consignez pas les identifiants VNC dans les journaux de build et ne les partagez pas avec votre clé privée SSH.

Ports et pare-feu

Consultez les détails de l’instance dans la console pour connaître les ports réellement ouverts ; ne partez pas du principe qu’ils sont identiques sur toutes les instances. En cas de délai SSH dépassé, vérifiez d’abord que votre réseau n’empêche pas les connexions sortantes, puis contrôlez l’adresse de l’hôte, le port et l’état de l’instance. Avant de modifier les règles du pare-feu, gardez une connexion d’administration fonctionnelle pour ne pas perdre l’accès à la machine.

02 / Workflow de build

Fixez la chaîne d’outils pour des builds reproductibles

Avant de lancer des builds en ligne de commande sur une machine physique dédiée, vérifiez que la version de Xcode correspond aux exigences du projet. Dans votre CI, définissez clairement les sources du projet, du Scheme et des éléments de signature afin de ne pas dépendre d’une manipulation ponctuelle sur le bureau.

Version de Xcode et outils en ligne de commande

Commencez par lister les versions de Xcode installées sur la machine, puis sélectionnez celle dont le projet a besoin. Après le changement, vérifiez à nouveau le chemin et la version des outils en ligne de commande. N’utilisez le chemin ci-dessous que si la version correspondante est bien installée.

ls /Applications | grep Xcode
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
xcode-select -p
xcodebuild -version

xcodebuild et fastlane

Dans le répertoire du projet, listez les Scheme disponibles et vérifiez la cible avant de lancer un build Release. Si votre équipe utilise fastlane, versionnez la configuration des lanes et vérifiez les certificats ainsi que les variables d’environnement avant l’exécution.

xcodebuild -list
xcodebuild -scheme App -configuration Release build
bundle exec fastlane gym

App remplacez-le par un Scheme présent dans votre projet ;gym nécessite une configuration fastlane déjà définie dans le projet.

01Créer un compte dédié

Attribuez au compte système qui exécute les tâches les autorisations nécessaires et limitez son répertoire de travail. Ne déposez ni clé privée SSH ni éléments de signature dans le dépôt.

02Enregistrer le runner

Générez les informations d’enregistrement dans les paramètres de votre projet GitHub Actions ou GitLab, puis suivez les instructions d’installation à jour de la plateforme pour enregistrer le runner sur le Mac.

03Tester une tâche

Lancez d’abord une petite tâche qui affiche sw_vers et xcodebuild -version pour vérifier que le bon nœud l’exécute, avant d’y intégrer le build complet.

Si vous utilisez une instance livrée pour la première fois, suivez d’abord lesétapes de prise en mainpour vous connecter et lancer votre premier build.

Glossaire

Huit termes pour comprendre l’instance et la location

Ces termes distinguent l’appareil loué, les méthodes de connexion et les unités de facturation. Pour choisir une offre, partez des besoins de votre charge de travail, puis sélectionnez la durée de location.

Nœud physique
Lieu où le Mac mini est installé. Pour choisir un nœud, tenez compte de votre emplacement réseau et de celui de vos collaborateurs. Consultez laprésentation des nœudspour connaître les emplacements disponibles.
Machine physique dédiée
Chaque commande correspond à un véritable Mac mini dont le processeur, la mémoire et le stockage ne sont pas partagés avec d’autres clients.
Pas une machine virtuelle
Vous disposez d’un Mac physique ; il ne s’agit pas d’une instance virtuelle créée sur un hôte partagé.
VNC
Méthode de connexion à distance au bureau graphique de macOS, adaptée au développement et au débogage qui nécessitent une interface visuelle.
Clé SSH
Identifiants composés d’une clé publique et d’une clé privée. La clé publique sert à autoriser l’accès ; conservez la clé privée sous votre contrôle.
runner auto-hébergé
Programme enregistré auprès d’une plateforme CI qui exécute les tâches de build sur le Mac loué. Ses autorisations dépendent du compte système qui le lance.
Liaison Thunderbolt 5
Option d’extension proposée avec certaines offres, facturée par appareil. Vérifiez la configuration et les charges de travail compatibles sur lapage des offrespour vous assurer qu’elle convient.
Durée de location
Période de facturation choisie à la commande : jour, semaine, mois ou trimestre. Chaque durée a son propre tarif et commence à la livraison.
03 / Facturation et renouvellement

La location commence à la livraison

À la commande, choisissez le modèle, le nœud, la durée et les options, puis réglez le montant total correspondant à la période choisie. Fiez-vous aux heures de livraison et d’expiration enregistrées dans la console ; l’heure du paiement ne détermine pas la durée d’utilisation.

01Vérifier la commande

Avant de payer, vérifiez le modèle, le nœud et la durée choisie : jour, semaine, mois ou trimestre. La disponibilité en temps réel est celle indiquée par la console.

02Consulter les rappels d’expiration

Après la livraison, consultez dans la console l’historique de location et la date d’expiration. Les rappels peuvent vous aider à planifier, mais ne remplacent pas votre propre stratégie de sauvegarde.

03Renouveler ou changer d’offre

Pour continuer à utiliser l’instance, lancez le renouvellement depuis la commande dans la console. Pour passer de Commit 16 à Commit 24, vérifiez d’abord la nouvelle configuration et le plan de migration des données, puis suivez la procédure indiquée dans la console.

Paiement et facturation

Paiement par USDT-TRC20 ou par Visa, Mastercard et Amex traitées par Stripe uniquement. Tous les prix et règlements sont en dollars américains (USD). Les moyens de paiement réellement disponibles au moment du règlement sont ceux indiqués par la console. Pour connaître les tarifs des modèles et des quatre durées, consultezOffres et tarifs.

04 / Dépannage courant

Identifiez d’abord le niveau concerné

Procédez par étapes : état de l’instance, réseau, session système, puis configuration du projet. Notez le message d’erreur exact, l’heure à laquelle le problème s’est produit et les vérifications déjà effectuées pour que votre demande d’assistance aille droit au but.

VNC est connecté, mais l’écran reste noir

Vérifiez d’abord dans la console que l’instance est disponible. Déconnectez-vous, puis rétablissez la session graphique et essayez de réduire la résolution du client. Si SSH fonctionne, vérifiez que le système répond encore aux commandes. Dans votre demande d’assistance, indiquez le message du client, l’heure de la connexion et si SSH fonctionne ; ne joignez pas votre mot de passe.

SSH expire sans afficher de demande d’authentification

Un délai dépassé survient généralement avant l’étape de vérification de la clé. Vérifiez l’adresse et le port indiqués dans la console, l’état de l’instance et l’autorisation des connexions sortantes sur votre réseau. Faites un nouvel essai sur un autre réseau et notez le résultat. Ne changez pas plusieurs fois de clé privée sans avoir vérifié les règles de port.

Le build échoue par manque d’espace disque

Commencez par exécuter df -h pour vérifier l’espace disponible, puis examinez la place occupée par les artefacts du projet, DerivedData, les archives et les fichiers de modèles. Avant toute suppression, vérifiez à qui appartiennent les fichiers et sauvegardez ceux à conserver. Si vous avez besoin de plus d’espace à long terme, consultez lapage des offrespour vérifier les options SSD.

Échec de l’archivage lié au trousseau ou au certificat de signature

Vérifiez la validité du certificat, la correspondance entre le profil de provisionnement et le Bundle ID, ainsi que les droits du compte exécutant le build sur le trousseau concerné. Le compte de session du bureau peut différer de celui du runner CI ; commencez par reproduire l’erreur avec le même compte. Vous pouvez joindre au ticket des journaux expurgés, mais n’envoyez ni clé privée ni mot de passe de certificat.

Avant de quitter l’instance

Exportez vos données avant l’expiration ; ne comptez pas sur leur durée de conservation

Vous devez organiser la sauvegarde du code source, des artefacts de build, des certificats et des fichiers de modèles. À la fin de la location, l’accès à l’instance est géré conformément aux conditions de service ; les règles de conservation des données et leur effacement ultérieur sont précisées dans lesconditions de serviceet les informations de commande. Ne partez pas du principe que vous pourrez encore vous connecter pour récupérer vos fichiers après l’expiration.

01Exporter votre travail

Poussez le code dans votre propre dépôt et copiez les IPA, journaux ou résultats de modèles non archivés vers un espace de stockage que vous gérez.

02Vérifier les éléments sensibles

Vérifiez l’utilisation des certificats de signature, des clés et des variables CI. Si nécessaire, renouvelez les identifiants côté projet et ne laissez pas de clé privée dans des journaux de build partagés.

03Préparer la suite

Si vous avez besoin de la même instance, consultez les options de renouvellement à l’avance. Avant de terminer, vérifiez que vos sauvegardes sont lisibles.

Toujours besoin d’aide ?

Transmettez-nous le problème et les vérifications effectuées

Si vous avez déjà une commande, connectez-vous à la console et ouvrez un ticket en précisant le numéro de commande, le nœud, l’heure du problème et le message d’erreur. Pour une question de connexion ou de configuration avant commande, envoyez-nous un e-mail depuis la page de contact.