en utilisant la ligne de commande ionic émuler (je suppose que c'est la même chose que cordova phoengap), comment puis-je choisir le périphérique - grand écran ipad ou iphone. La valeur par défaut est toujours l’écran de 3,5 ".
Avec les versions ultérieures de Ionic et Cordova, vous pouvez utiliser l'une des commandes suivantes pour répertorier les émulations disponibles. Les commandes suivantes ont été testées avec Ionic v3.20.0 et Cordova 8.0.0:
ionic cordova emulate --list # List any OS
cordova run --list # List any OS
cordova run ios --list # List specific OS
Et ils donnent quelque chose comme:
Available ios virtual devices:
iPhone-5s, 11.2
iPhone-6, 11.2
iPhone-6-Plus, 11.2
iPhone-6s, 11.2
iPhone-6s-Plus, 11.2
iPhone-7, 11.2
iPhone-7-Plus, 11.2
iPhone-8, 11.2
iPhone-8-Plus, 11.2
iPhone-SE, 11.2
iPhone-X, 11.2
iPad-Air, 11.2
iPad-Air-2, 11.2
iPad--5th-generation-, 11.2
iPad-Pro--9-7-inch-, 11.2
iPad-Pro, 11.2
iPad-Pro--12-9-inch---2nd-generation-, 11.2
iPad-Pro--10-5-inch-, 11.2
Apple-Watch-38mm, watchOS 4.2
Apple-Watch-42mm, watchOS 4.2
Apple-Watch-Series-2-38mm, watchOS 4.2
Apple-Watch-Series-2-42mm, watchOS 4.2
Apple-Watch-Series-3-38mm, watchOS 4.2
Apple-Watch-Series-3-42mm, watchOS 4.2
Apple-TV-1080p, tvOS 11.2
Pour démarrer l'émulateur avec une utilisation de système d'exploitation spécifique:
ionic cordova emulate ios --target "iPhone-X"
Voir aussi: https://cordova.Apache.org/docs/fr/latest/reference/cordova-cli/#cordova-run-command
Pour une ancienne installation de Ionic et Cordova, j'ai utilisé la syntaxe mentionnée dans la réponse de RipTheJacker pour sélectionner le périphérique à émuler, à savoir:
ionic emulate ios --target="iPhone-4s"
Cependant, pour savoir quelles sont les émulations disponibles, je lance ceci:
ios-sim showdevicetypes
Cette commande retournera une liste, quelque chose comme ceci:
iPhone-4s, 8.4
iPhone-5, 8.4
iPhone-5s, 8.4
iPhone-6-Plus, 8.4
iPhone-6, 8.4
iPad-2, 8.4
iPad-Retina, 8.4
iPad-Air, 8.4
Resizable-iPhone, 8.4
Resizable-iPad, 8.4
cordova emulate ios --target="TARGET"
ou
ionic emulate ios --target="TARGET"
Où TARGET
est l'un des suivants: iPad, iPhone, iPad (Retina), iPhone (Retina 3.5 pouces), iPhone (Retina 4 pouces)
Par exemple: ionic emulate ios --target="iPhone-5"
Mise à jour de mai 2018
Courir
ionic cordova run ios --target="iPhone-X"
Vous pouvez remplacer iPhone-X
par tout ce qui vient de la liste
./platforms/ios/cordova/lib/list-emulator-images
depuis le dossier racine de votre projet (comme indiqué dans commentaire de Tod Thomson )
Pour moi la liste est
iPhone-5s, 11.3
iPhone-6, 11.3
iPhone-6-Plus, 11.3
iPhone-6s, 11.3
iPhone-6s-Plus, 11.3
iPhone-7, 11.3
iPhone-7-Plus, 11.3
iPhone-8, 11.3
iPhone-8-Plus, 11.3
iPhone-SE, 11.3
iPhone-X, 11.3
iPad-Air, 11.3
iPad-Air-2, 11.3
iPad--5th-generation-, 11.3
iPad-Pro--9-7-inch-, 11.3
iPad-Pro, 11.3
iPad-Pro--12-9-inch---2nd-generation-, 11.3
iPad-Pro--10-5-inch-, 11.3
Apple-TV-1080p, tvOS 11.3
Apple-TV-4K-4K, tvOS 11.3
Apple-TV-4K-1080p, tvOS 11.3
Apple-Watch-38mm, watchOS 4.2
Apple-Watch-42mm, watchOS 4.2
Apple-Watch-Series-2-38mm, watchOS 4.2
Apple-Watch-Series-2-42mm, watchOS 4.2
Apple-Watch-Series-3-38mm, watchOS 4.2
Apple-Watch-Series-3-42mm, watchOS 4.2
La version de l'OS (c'est-à-dire 11.3) peut changer en fonction des images que vous avez téléchargées et de votre version de XCode. Donc, si les périphériques de cette liste ne fonctionnent pas, exécutez la commande et obtenez votre propre liste.
Je ne sais pas pourquoi ces réponses ne fonctionnent pas pour moi. Mais ce qu'il fait c'est faire le suivant:
native-run --list
Virtual Devices:
iPad (5th generation) 12.2 11904882-5E5A-4941-B291-5D38F3B51E98
iPad (6th generation) 12.2 82079A1A-87C1-47EC-BEC2-69BA97FC440C
iPad Air 12.2 7E90921D-D166-4CE1-956F-0193EF6E972F
...
Cela m'amène les identifiants des périphériques pour que je puisse le faire ensuite:
ionic cordova run ios --livereload --target "BA4986B3-9102-4250-91BF-7DDF7D7BC60D"
J'ai le même problème depuis ionic2. On dirait que ionic/cordova ignore ios-sim et en attribue le sien au moment de l’émulation. Reportez-vous à la plate-forme installée, par exemple ios (plates-formes/ios/cordova/lib/run.js):
Pour voir les simulateurs disponibles, lancez
ios-sim showdevicetypes
/ validate target device for ios-sim
// Valid values for "--target" (case sensitive):
var validTargets = ['iPhone-4s', 'iPhone-5', 'iPhone-5s', 'iPhone-6-Plus', 'iPhone-6',
'iPhone-6s-Plus', 'iPhone-6s', 'iPad-2', 'iPad-Retina', 'iPad-Air', 'iPad-Air-2',
'iPad-Pro', 'Resizable-iPhone', 'Resizable-iPad'];
if (!(runOptions.device) && runOptions.target && validTargets.indexOf(runOptions.target.split(',')[0]) < 0 ) {
return Q.reject(runOptions.target + ' is not a valid target for emulator');
}
Tant que vous exécutez le bon simulateur dans la liste, tout va bien:
ionique émuler ios --target = "iPhone-6s-Plus, 10.2"