Selon Quoi de neuf sur Xcode, Xcode 9 nous permet d'exécuter plusieurs instances de simulateur.
Mais comment faire ça?
J'ai essayé de Build & Run
sur différents modèles mais Quit
l'instance actuelle.
J'ai résolu mon problème, c'est "très simple":]
Sur le simulateur, vous devez choisir un nouvel appareil parmi Hardware > Devices
. La nouvelle instance démarre.
Ensuite, choisissez votre modèle sur Xcode
.
Voici la solution.
Vous pouvez exécuter le simulateur multiple en utilisant des commandes de terminal xcodebuild comme celle-ci
xcodebuild test-without-building -xctestrun /PathTo/.xctestrun -sdk iphonesimulator -destination 'platform = iOS Simulator, id = name = iPhone 7, OS = 10.3.1' -destination 'platform = iOS Simulator, name = iPhone 7, OS = 10.3.1 '-destination-timeout 300 -derivedDataPath/pathtoyourderivedata -only-testing: YourTestScheme/YourTestClass/YouTestMethod
L'astuce ici est de continuer à ajouter -destination sur les appareils sur lesquels vous souhaitez exécuter votre test -destination test-without-building - Si votre projet est déjà en cours de construction.
J'ai dû détacher mon application en cours d'exécution du menu "Débogage" -> "Détacher de ____" s'il y avait déjà une instance de simulateur en cours d'exécution pour en exécuter plusieurs simultanément.
Xcode vous permet d'exécuter des simulations en parallèle (qui peuvent également communiquer entre elles, si cela fait partie des fonctionnalités de l'application), mais vous ne pouvez pas exécuter des simulations parallèles sur le même type d'appareil simulé (c'est-à-dire que vous ne pouvez pas simuler sur deux iPhone 11 Pros, mais vos simulations pourraient être, par exemple, iPhone 11 Pro Max et iPhone 11 Pro.)
Je soupçonne que vous pouvez également détacher la deuxième simulation de Xcode en répétant l'étape 2, puis rattacher Xcode à la première instance, par exemple si vous voulez pouvoir inspecter ce qui se passe sur l'un ou l'autre des appareils simulés, mais je n'ai pas essayé cela.
Bien que la réponse acceptée lance une autre instance de simulateur, elle ne lance pas réellement votre application pour le débogage - sauf si je manque quelque chose - alors après cela, procédez comme suit:
Et vous exécutez et déboguez maintenant votre application dans les deux simulateurs.