Kvmzen Blog
← Retour à La tech en pratique

Comment exécuter plusieurs simulateurs iOS sur Mac ? Tests multiappareils Xcode, consommation mémoire et efficacité de compilation

DevOps et CI/CD ·~10 min de lecture

Comment exécuter plusieurs simulateurs iOS sur Mac ? Tests multiappareils Xcode, consommation mémoire et efficacité de compilation

Lancer plusieurs simulateurs iOS avec Xcode est utile pour tester plusieurs appareils ou versions du système en parallèle, mais cela ajoute une charge mémoire et processeur : la compilation ne devient donc pas automatiquement plus rapide. Choisissez les simulateurs selon votre couverture de test, puis comparez les mêmes tâches dans un environnement inchangé avant d’augmenter le parallélisme.

Cet article s’adresse aux personnes qui vérifient l’adaptation d’une app iOS à plusieurs appareils, aux équipes qui partagent les tâches de test et de compilation, et à celles qui évaluent un environnement Mac local ou distant.

Comment exécuter plusieurs simulateurs iOS avec Xcode ?

Xcode permet d’exécuter une app sur une destination simulée ou physique, et les composants supplémentaires peuvent être installés depuis l’environnement de développement. Vous pouvez donc lancer les simulateurs correspondant à vos besoins, puis les utiliser pour des essais séparés ou coordonnés. La documentation Apple décrit l’exécution d’une app sur un appareil simulé ou physique et l’installation de composants Xcode supplémentaires.

Le point important est de distinguer trois opérations. Démarrer un simulateur prépare un environnement de test. Compiler le projet transforme le code en produit exécutable. Exécuter les tests sollicite ensuite l’application et les outils de test. Ces opérations peuvent se chevaucher, mais elles ne mesurent ni la même charge ni la même durée.

Préparer une comparaison reproductible

Avant d’ouvrir plusieurs appareils, consignez les conditions qui permettront d’interpréter vos résultats :

  • Le modèle de Mac, la mémoire disponible et la version de macOS.
  • La version de Xcode et les composants de simulation installés.
  • Le modèle de chaque appareil simulé et son environnement système.
  • L’état du projet : branche de code, dépendances, état des données de construction et réglages.
  • La tâche mesurée : lancement, compilation, tests ou combinaison de ces actions.
  • Les applications et tâches en arrière-plan qui restent actives pendant l’essai.

Sans ces éléments, une différence de durée peut venir d’une compilation déjà effectuée, d’un téléchargement de composant manquant ou d’une autre tâche en cours, plutôt que du nombre de simulateurs.

Pour préparer les appareils, ouvrez le projet dans Xcode, sélectionnez une destination de test, puis lancez l’app ou les essais associés. Répétez la sélection pour les autres destinations que votre version de Xcode rend disponibles. Si un environnement manque, vérifiez les composants installés avant de comparer les performances. Apple documente également les outils en ligne de commande de Xcode dans sa référence des commandes de développement.

Gardez une trace des appareils ouverts et de leur état : un simulateur simplement lancé n’impose pas nécessairement la même charge qu’un appareil qui exécute activement une suite de tests, affiche une animation ou traite des données. Pour une app de création audio ou vidéo, par exemple, le test peut mobiliser le rendu, les médias et les traitements de l’app en plus du travail demandé par Xcode. Une vérification d’interface plus légère ne reproduira pas cette charge.

À retenir : choisissez des destinations qui représentent les différences que votre produit doit couvrir. Accumuler des appareils presque équivalents peut mobiliser des ressources sans améliorer la qualité des vérifications.

Quelles mesures révèlent la consommation mémoire réelle ?

Il n’existe pas de valeur universelle permettant d’affirmer qu’un Mac peut faire fonctionner un nombre précis de simulateurs. La consommation dépend des tâches en cours, des contenus ouverts, de la configuration du projet et des autres processus actifs. En l’absence d’un relevé reproductible sur la machine concernée, annoncer une quantité de mémoire ou un seuil de simulateurs donnerait une précision trompeuse.

Mesurez plutôt l’évolution entre des états clairement définis. Avec Moniteur d’activité, relevez les informations mémoire avant de lancer les simulateurs, après le lancement de chaque destination, puis pendant l’exécution de tests. Apple explique comment consulter la pression mémoire et l’espace d’échange dans Moniteur d’activité. Notez l’heure et l’action effectuée à chaque relevé : vous pourrez rapprocher la variation observée du lancement d’un appareil, d’une compilation ou d’un test précis.

Suivez plusieurs indicateurs, pas seulement la mémoire attribuée à un processus :

  • Pression mémoire : elle donne une indication de la capacité du système à répondre à la charge globale. Observez son évolution pendant les essais plutôt que de déduire la stabilité d’un chiffre isolé.
  • Mémoire utilisée et mémoire compressée : relevez ces valeurs dans les mêmes conditions à chaque étape. Une hausse après le lancement de plusieurs environnements est à comparer avec celle observée pendant les tests.
  • Espace d’échange utilisé : notez s’il augmente lorsque vous ouvrez des simulateurs ou exécutez un travail plus lourd. Il s’agit d’un indicateur utile pour repérer un système qui compense une pression mémoire accrue.
  • Temps nécessaire à chaque opération : séparez démarrage, compilation et exécution des tests. Cette mesure aide à identifier si le ralentissement est lié à la compilation ou à la charge globale.

Procédez par étapes : fermez les tâches non nécessaires, relevez l’état initial, démarrez un simulateur, puis recommencez les relevés après chaque changement. Une fois les appareils lancés, exécutez la même action de test et prenez un dernier relevé. Répétez ensuite l’essai dans les mêmes conditions pour vérifier que le résultat ne dépend pas d’un événement ponctuel.

Ne modifiez pas en même temps le nombre d’appareils, les réglages de compilation et les tests. Si vous changez plusieurs variables à la fois, vous ne saurez pas laquelle explique la différence. Conservez aussi les applications réellement nécessaires à votre usage : fermer un outil de création audio ou un navigateur ne constitue pas une comparaison pertinente si votre équipe les garde habituellement ouverts pendant les tests.

Quels simulateurs garder dans la configuration ?

Faites correspondre chaque destination à une exigence du produit : taille d’écran, comportement d’une fonctionnalité, environnement système requis ou scénario couvert par la suite automatisée. Si deux appareils vérifient le même risque avec des résultats équivalents, ne les gardez pas tous deux ouverts par défaut. Vous pourrez les réintroduire pour une validation dédiée.

Le tableau suivant aide à choisir une configuration d’essai sans prétendre qu’un ensemble précis convient à tous les Mac.

Option Ce qu’elle permet de vérifier Limite à surveiller À privilégier si…
Un simulateur à la fois Le comportement d’un scénario ciblé et une référence de charge facile à relever La couverture simultanée des appareils est limitée Vous cherchez une mesure de départ ou un test de diagnostic
Plusieurs simulateurs représentatifs Des variantes d’appareil ou d’environnement dans une même séquence de travail La mémoire et le processeur sont davantage sollicités La comparaison entre destinations est nécessaire à la validation
Des lots de tests successifs Une couverture plus large sans garder toutes les destinations actives en même temps Le temps total dépend de l’enchaînement des lots Le Mac ralentit lorsque les tests et les appareils restent ouverts ensemble

Les tests multiappareils accélèrent-ils la compilation Xcode ?

Non, le parallélisme des tests ne garantit pas une compilation plus rapide. Il faut comparer séparément la première construction d’un projet, les constructions incrémentales et l’exécution des tests. Une construction initiale et une construction réutilisant des résultats antérieurs ne représentent pas la même charge. Apple propose des recommandations consacrées à l’amélioration de la vitesse des constructions incrémentales.

Pour comparer vos configurations, gardez le même code, les mêmes réglages de construction, les mêmes dépendances et les mêmes destinations lorsque l’objectif le permet. Enregistrez la durée de la construction initiale séparément de celle des reconstructions après une modification. Notez aussi si des simulateurs sont ouverts, s’ils exécutent des tests et si d’autres tâches de développement tournent en parallèle.

Une grille de relevés peut rester très simple : date de l’essai, état initial du projet, destinations actives, action exécutée, durée observée et indicateurs mémoire. Enregistrez le journal de construction ou le résultat de test correspondant. Xcode fournit des résultats permettant d’examiner les essais ; consultez la documentation Apple sur l’exécution et l’interprétation des résultats de test.

Pour éviter les conclusions hâtives, répétez les essais sans changer les conditions, puis comparez la dispersion des durées, et non uniquement le meilleur résultat obtenu. Si la construction ralentit quand les tests tournent, vérifiez si le processeur ou la mémoire est déjà sollicité par les simulateurs. Si la construction reste stable mais que les tests s’allongent, examinez plutôt la configuration de la suite, l’activité des appareils et la coordination des tâches.

Apple décrit aussi les options de mesure liées aux constructions incrémentales dans la documentation précédente. Utilisez le journal de compilation pour repérer les phases qui prennent du temps, puis comparez ces phases entre les essais. Une durée globale seule ne permet pas de dire si le goulot d’étranglement est la compilation, la préparation des destinations ou les tests.

Cas d’usage : une équipe prépare une validation d’interface sur des tailles d’écran différentes tout en travaillant sur des séquences de montage vidéo. Elle peut d’abord établir la durée de compilation sans tests, puis mesurer une suite sur une destination, et enfin comparer avec plusieurs destinations actives. Elle saura ainsi si le parallélisme lui permet de vérifier davantage de cas dans le même créneau, ou s’il fait attendre les personnes qui compilent le projet. Il ne s’agit pas de supposer que le Mac accélère la construction, mais de mesurer le compromis réel de cette équipe.

Rappel : une compilation plus longue pendant des tests parallèles ne prouve pas que le nombre de simulateurs est l’unique cause. Recommencez avec les mêmes réglages et retirez une seule source de charge à la fois.

Comment ajuster les tests quand la charge devient trop élevée ?

Fondez votre décision sur les mesures et sur les besoins de couverture. Lorsque la pression mémoire augmente, que l’espace d’échange évolue ou que les durées se dégradent dans des conditions répétables, réduisez d’abord le nombre de destinations ouvertes simultanément. Fermez ensuite les tâches non requises, puis relancez la même série. Si le problème persiste, répartissez les tests en lots au lieu de maintenir tous les simulateurs actifs pendant toute la session.

Procédez dans cet ordre :

  • Identifiez la couverture indispensable : les appareils ou environnements qui correspondent à des exigences réelles du produit.
  • Mesurez le scénario avec une seule destination afin d’obtenir une référence.
  • Ajoutez uniquement les destinations nécessaires à la comparaison suivante.
  • Relevez la mémoire, la pression du système et les durées pendant la compilation et les tests.
  • Si les résultats se dégradent, réduisez le parallélisme ou séparez compilation et tests, puis répétez la mesure.
  • Conservez la configuration qui respecte les besoins de validation sans ralentir les tâches prioritaires de l’équipe.

Cette méthode permet d’éviter deux erreurs opposées. La première consiste à ouvrir un grand nombre de simulateurs sans savoir quelle couverture ils apportent. La seconde est de supprimer les tests multiappareils alors que certains écarts d’interface ou de comportement ne peuvent être décelés sur une seule destination. Une configuration utile n’est donc pas celle qui maximise le nombre d’appareils ouverts : c’est celle qui couvre les risques pertinents et dont la charge reste compatible avec le travail réellement effectué.

Pour évaluer un environnement partagé ou distant, comparez des mesures équivalentes, relevées sur des machines et des projets décrits avec précision. Les pages de présentation de Kvmzen et de location de Mac peuvent servir de point de départ pour examiner les options disponibles ; elles ne remplacent pas un essai de votre projet, de vos destinations et de votre séquence de tests. Aucun relevé comparable de configuration et de performance n’étant fourni ici, il serait trompeur de conclure qu’un environnement local ou distant exécute ces travaux plus vite.

Si votre Mac actuel exécute déjà les tests sans hausse problématique de la pression mémoire ni ralentissement gênant de la compilation, gardez votre flux local et ajustez seulement les lots. En revanche, un poste partagé peut imposer des attentes, une session locale peut entrer en concurrence avec le travail quotidien, et maintenir une machine dédiée demande de gérer son accès et son état. Pour des campagnes ponctuelles ou un environnement de test séparé, louer un Mac auprès de Kvmzen peut offrir une manière plus souple d’isoler ces tâches ; vérifiez d’abord la configuration effectivement proposée et mesurez votre projet dessus avant d’y transférer un travail régulier.

Pour aller plus loin

Offre à durée limitée

Plus qu'un Mac — votre base de développement dans le cloud

Calcul dédié · Nœuds mondiaux · Abonnement mensuel · Sans matériel à acheter

Retour à l'accueil
Offre limitée Voir les offres