Ce soir, confiez votre build iOS à un Mac dans le cloud

Une machine physique dédiée, pas une machine virtuelle. 5 régions, tarifs à la journée, à la semaine, au mois ou au trimestre, dès $21.1/jour

Commencez avec une machine et intégrez-la à votre pipeline dès aujourd’hui. La disponibilité et les détails de livraison confirmés sont ceux affichés dans la console.

Le parcours d’un build · livraison d’un fichier .ipascheme App-Prod · Release · durée indicative : 19 min
Tokyo · ArmRDP M4 Plus
Heure 21:04Récupération du codegit fetch · main
Heure 21:11xcodebuild archiveXcode 16.2 · arm64
Heure 21:17Signature et exportDistribution · .ipa
Heure 21:23Envoi vers TestFlightfastlane pilot

Exemple de workflow, données non en temps réel. La durée du build varie selon le projet, ses dépendances et le cache.La durée du build varie selon le projet, ses dépendances et le cache.

runner · tko-plus-02GitHub Actions auto-hébergé · configuration d’exemple
Illustration d’une machine inactive
Xcode16.2 · version verrouillée
macOS15 Sequoia
ÉtiquettesmacOS, xcode-16.2
MachineMac mini M4 dédié
File d’attente de ce soir · exemple3 schemes
App-Prodarchive · dès 21:11
En cours
App-StagingEn attente d’un runner
En file d’attente
WidgetEn attente d’un runner
En file d’attente
Pourquoi un vrai Mac ?

Trois points à vérifier

Une machine de build iOS doit être stable, reproductible et disponible quand vous en avez besoin. Après connexion, vérifiez le matériel, les autorisations et la toolchain, puis intégrez votre premier pipeline.

Machine physique dédiée

Ce Mac mini vous est exclusivement réservé. CPU, mémoire unifiée et SSD ne sont partagés avec aucun autre locataire : pas de partitionnement ni de surallocation. Votre cache de build reste sur votre machine, sans avoir à reconfigurer l’environnement à chaque tâche.

1 machine = 1 locataire

Pas une machine virtuelle

Xcode, les simulateurs et Metal s’exécutent nativement sous macOS. Utilisez aussi bien l’interface graphique que la ligne de commande, sans contourner les limitations des appareils virtualisés. Consultez les informations matérielles pour vérifier le modèle de Mac mini.

system_profiler SPHardwareDataType

Location dès une journée

Louez une journée pour vérifier les dépendances et la signature. Choisissez la semaine pour une période de release, ou le mois ou le trimestre pour un runner permanent. Les tarifs sont affichés pour chaque durée ; le prix mensuel n’est pas converti en tarif journalier d’appel.

M4 Base : $21.1/jour · $57.1/semaine · $105.7/mois

Les caractéristiques, noir sur blanc

Caractéristiques des trois modèles

Tous les modèles sont des Mac mini Apple Silicon. Les trois configurations sont disponibles dans les 5 régions. La mémoire et le SSD dépendent du modèle ; vous pouvez ajouter de l’espace de travail séparément.

ID m4-16-256

ArmRDP M4 Base

Puce
M4
Mémoire unifiée
16GB
SSD
256GB
Accès réseau
SSH / VNC
Régions disponibles
Les 5 régions

Mac mini physique dédié

ID m4-24-512

ArmRDP M4 Plus

Puce
M4
Mémoire unifiée
24GB
SSD
512GB
Accès réseau
SSH / VNC
Régions disponibles
Les 5 régions

Mac mini physique dédié

ID m4pro-64-2tb

ArmRDP M4 Pro

Puce
M4 Pro
Mémoire unifiée
64GB
SSD
2TB
Accès réseau
SSH / VNC
Régions disponibles
Les 5 régions

Mac mini physique dédié

Ajoutez un SSD de +1TB ou +2TB et reliez-le en Thunderbolt 5. Vérifiez les paramètres réseau, les versions de la toolchain et la configuration de livraison lors de la commande et de l’activation.

Voir toutes les caractéristiques et options
Tarifs

Trois modèles, location dès une journée

Facturation en dollars américains. Chaque offre permet de choisir indépendamment la journée, la semaine, le mois ou le trimestre. Le montant affiché correspond au prix total de la durée sélectionnée, pas à un tarif journalier calculé.

ArmRDP M4 Base

M4 · 16GB · 256GB

$21.1/jour

Lancez votre premier pipeline

Idéal pour un projet avec un seul scheme et les tests de courte durée. Mesurez d’abord le temps d’un build complet, l’espace occupé par le cache et la mémoire maximale, puis décidez si vous avez besoin de plus de capacité en continu.

Louer un M4 Base

ArmRDP M4 Pro

M4 Pro · 64GB · 2TB

$59.5/jour

Pour les projets et charges mémoire plus importants

Idéal pour les builds complets de grands projets, les tests sur simulateur et la validation de l’inférence de modèles en local. Ses 64GB de mémoire unifiée et son SSD de 2TB offrent de la place pour plusieurs dépendances et artefacts de build.

Louer un M4 Pro

À partir de $21.1/jour ; SSD +1TB dès $3/jour. Les options sont facturées séparément. Vérifiez le modèle, la durée, la région et le total avant de payer.

Détail des durées et options
Ferme de build iOS

Transformez un build en workflow reproductible

Enregistrez de 1 à N Mac dans le cloud comme runners auto-hébergés GitLab ou GitHub Actions. Faites d’abord fonctionner un pipeline, puis répartissez plusieurs schemes entre différentes machines.

  1. 01

    Mesurez un build représentatif

    Avec le même commit, mesurez les durées de build complet et incrémental, puis vérifiez les certificats, le téléchargement des dépendances et l’espace occupé par DerivedData. Commencez par une tâche simultanée par runner.

  2. 02

    Enregistrez les runners et attribuez-leur des étiquettes

    Nommez les étiquettes selon macOS, la version de Xcode et l’usage du projet. Les tâches d’une matrice ne peuvent s’exécuter simultanément sur plusieurs machines que si plusieurs runners portant les étiquettes requises sont disponibles.

  3. 03

    Verrouillez la toolchain avant de monter en charge

    Choisissez la version de Xcode requise par le projet et conservez-la. Utilisez DEVELOPER_DIR pour la sélectionner, puis définissez des chemins distincts pour les archives et le cache afin d’éviter que les tâches ne s’écrasent mutuellement.

La version de Xcode ne suffit pas à garantir un build reproductible. Consignez aussi les fichiers de verrouillage des dépendances, les éléments de signature, la configuration d’export et les variables d’environnement dans l’historique des modifications de l’équipe.

Tâche d’archivage nocturne

GitHub Actions · exemple de configuration
name: ios-nightly
on:
  workflow_dispatch:
  schedule:
    - cron: "0 13 * * *"
jobs:
  archive:
    runs-on: [self-hosted, macOS, xcode-16.2]
    strategy:
      fail-fast: false
      matrix:
        scheme: [App-Prod, App-Staging, Widget]
    env:
      DEVELOPER_DIR: /Applications/Xcode-16.2.app/Contents/Developer
    steps:
      - uses: actions/checkout@v4
      - name: Archive
        run: |
          xcodebuild archive \
            -workspace App.xcworkspace \
            -scheme "${{ matrix.scheme }}" \
            -configuration Release \
            -archivePath "build/${{ matrix.scheme }}.xcarchive"
      - name: Export
        run: |
          xcodebuild -exportArchive \
            -archivePath "build/${{ matrix.scheme }}.xcarchive" \
            -exportPath "build/export/${{ matrix.scheme }}" \
            -exportOptionsPlist ci/export.plist
Les horaires sont exprimés en UTCLe dépôt doit contenir la configuration d’export et les éléments de signature installés

Remplacez le workspace, le scheme et le chemin Xcode par ceux de votre projet. GitLab répartit également les tâches à l’aide des étiquettes des runners. Gérez les certificats et les clés au moyen de variables protégées ou d’un trousseau dédié ; ne les stockez pas dans le dépôt.

Régions

5 régions : choisissez celle qui est la plus proche de votre équipe

Singapour, Tokyo, Séoul, Hong Kong et l’ouest des États-Unis : les trois modèles sont disponibles partout. Tenez compte de l’emplacement des opérateurs et du dépôt, puis vérifiez le chemin réseau réel.

Les latences indiquées sont des plages de référence par région, pas des mesures effectuées depuis votre réseau. Les transferts SSH, les clones de dépôt et l’affichage VNC dépendent chacun de leur connexion ; le fuseau horaire de l’ouest des États-Unis change avec l’heure d’été. Toutes les régions fonctionnent 365 jours par an ; consultez la console pour connaître la disponibilité réelle.

Accès à distance

Deux façons de vous connecter à votre Mac

Utilisez SSH pour vos scripts et votre CI, et VNC avec le partage d’écran pour Xcode et les simulateurs. Consultez l’adresse de la machine et les identifiants dans la console, puis configurez votre client en suivant le guide de connexion.

SSH · scripts et runners

Pour installer des dépendances, enregistrer un runner et consulter les logs de build. Après votre première connexion, changez le mot de passe et ajoutez une clé publique. Vérifiez que la clé fonctionne avant de modifier les paramètres d’authentification.

ssh -i ~/.ssh/armrdp admin@<adresse-hôte>

VNC · interface graphique

Pour vérifier les réglages Xcode, le trousseau et les simulateurs. Il est recommandé de passer par un tunnel SSH, en redirigeant un port local vers le service de partage d’écran de la machine.

ssh -N -L 5901:localhost:5900 admin@<adresse-hôte>
Guide de connexionSSH + VNC

Un seul Mac, deux façons de travailler

Les tâches graphiques et automatisées utilisent les mêmes fichiers de projet et la même toolchain. Plus besoin de copier les répertoires de build entre deux environnements.

Ligne de commande
Terminal local → SSH → runner

Installation des dépendances, commandes d’archivage, logs et vérification des artefacts

Interface graphique
Partage d’écran → macOS → Xcode

Réglages du projet, simulateurs, signature et débogage de l’interface

Adresse de connexion locale une fois le tunnel établivnc://localhost:5901
Schéma de connexion, pas une capture d’écran d’un bureau en cours d’exécution. Le nom d’utilisateur, l’adresse et la configuration système dépendent des informations de livraison.
Adapté à votre façon de travailler

Trois situations qui vous parleront peut-être

Ces exemples à la première personne illustrent trois profils et la manière dont ils peuvent organiser leurs machines. Il s’agit de cas d’usage, pas de témoignages clients ni de statistiques de performance.

« Pendant la semaine de release, je veux que chacun de mes trois schemes ait son propre chemin d’archivage. En répartissant les tâches entre plusieurs runners, je n’ai plus besoin de surveiller sans cesse une seule file d’attente. »

Responsable iOS · exemple de besoin

« Je veux verrouiller la version de Xcode et le fichier de verrouillage des dépendances. Je vérifie d’abord le résultat avec le même commit, puis j’intègre ce Mac à notre pipeline de production. »

Ingénieur CI/CD · exemple de besoin

« Je commence par louer un M4 Base à la journée pour configurer les certificats et le runner GitLab. Une fois les ressources réellement utilisées par mon projet mesurées, je choisirai une durée de location plus longue. »

Développeur indépendant · exemple de besoin
FAQ

Quatre points à vérifier avant de commander

Toutes les questions

Est-ce une machine virtuelle ?

Non. Vous disposez d’un Mac mini physique dédié. Pendant la location, ses ressources matérielles ne sont pas partagées avec d’autres locataires. Vérifiez la puce, la mémoire et le stockage dans les informations système.

Puis-je conserver plusieurs versions de Xcode ?

Oui, vous pouvez installer et conserver plusieurs versions selon les besoins de votre projet. Dans vos scripts de build, utilisez DEVELOPER_DIR pour sélectionner une version précise, ou basculez avec xcode-select. Avant l’installation, vérifiez la compatibilité avec le système et l’espace disque disponible.

Comment estimer le nombre de machines nécessaires pour exécuter les builds en parallèle ?

Commencez par exécuter une seule tâche sur une machine et mesurez la mémoire maximale, la durée d’archivage et les performances de lecture/écriture du disque. Décidez ensuite d’augmenter le nombre de tâches simultanées sur cette machine ou d’ajouter une autre région. Le nombre de schemes ne permet pas, à lui seul, d’estimer la durée totale.

Comment gérer les fichiers de signature et les artefacts de build ?

Stockez les certificats dans un trousseau dédié et les variables sensibles dans la configuration protégée de votre CI. Synchronisez les archives et les fichiers exportés vers le stockage de votre équipe. Avant la fin de la location, sauvegardez vos données et révoquez les identifiants qui ne sont plus nécessaires.

Paiement et facturation

Deux moyens de paiement, facturation en dollars

Vérifiez la durée et la configuration, puis contrôlez le montant total de la commande. Le loyer de base et les options sont détaillés séparément. Les moyens de paiement disponibles sont ceux confirmés par l’interface de paiement.

USDT-TRC20Visa / Mastercard / Amex via Stripe
  1. Choisissez un modèle, une région et une durée
  2. Vérifiez le montant total en USD et payez
  3. Consultez la commande et les identifiants de la machine dans la console

Avant tout paiement sur la blockchain, vérifiez le réseau et les coordonnées de réception. Pour un paiement par carte, suivez les étapes indiquées par la passerelle. Si le paiement n’est pas encore confirmé, consultez la commande avant de tenter à nouveau le règlement.

Commandez aujourd’hui, compilez ce soir

M4 Base dès $21.1/jour. Commencez avec un projet et un runner, puis développez votre ferme de build iOS une fois le pipeline opérationnel.

La carte du parcours, les runners et la file d’attente illustrent un workflow et ne présentent pas de données en temps réel. Avant de commander, vérifiez la configuration, la durée de facturation et les modalités de livraison dans la console. La durée de build dépend de votre projet, de votre toolchain et du cache.