Existe-t-il un moyen de ralentir la connexion Internet au simulateur iPhone, afin d'imiter la façon dont l'application pourrait réagir lorsque vous êtes au ralenti sur le réseau cellulaire?
Instructions en vigueur au 4 novembre 2016 - macOS Sierra 10.12.
Avertissement: si vous venez de mettre à niveau vers macOS Sierra, assurez-vous d'installer le tout dernier conditionneur de réseau ( dans Outils supplémentaires pour Xcode 8.2 ) ou il échouera silencieusement ; c'est-à-dire que vous l'allumerez mais il n'étranglera rien et ne supprimera aucun paquet.
Installez Xcode si vous ne l'avez pas
Ouvrez XCode et accédez à Xcode ›Outil de développement ouvert› Autres outils de développement…
Télécharger Outils supplémentaires pour Xcode
Ouvrez l'image disque téléchargée et double-cliquez sur le volet .prefp pour l'installer.
Et voilà!
Assurez-vous de l'activer. Vous devez sélectionner un profil et activer le conditionneur de réseau avec la grande bascule qui devrait être familière dans le préfiltre Time Machine.
Cela n'affectera pas localhost, alors assurez-vous d'utiliser un serveur de transfert ou un ordinateur de collègue pour simuler des connexions réseau lentes à une API que vous exécutez vous-même. Vous pouvez trouver https://ngrok.com/ utile à cet égard.
"Il y a une application pour ça!" ;) Apple fournit le volet de préférences "Network Link Conditioner" qui fait très bien le travail.
Developer
, par ex. "/Developer/Applications/Utilities/Network Link Conditioner"
, après l'installation, si le démon ne démarre pas et que vous ne voulez pas redémarrer votre machine, utilisez simplement Sudo launchctl load /system/library/launchdaemons/com.Apple.networklinkconditioner.plist
Developer
, vous pouvez installer le volet dans le cadre du package "Hardware IO Tools for Xcode" disponible via la section de téléchargements supplémentaires de Mac Dev Center.Lien vers la page de téléchargement (vous devez vous connecter avec votre Apple): https://developer.Apple.com/downloads/index.action
(crédits à @nverinaud)
Je dirais qu'une connexion lente n'est pas suffisante pour simuler le comportement d'un réseau de données mobile réel - car il y a aussi beaucoup plus de pertes de paquets, des latences plus élevées et plus de connexions interrompues.
Voici un script pratique pour configurer le pare-feu pour émuler ces paramètres:
http://pmilosev-notes.blogspot.com/2011/02/ios-simulator-testing-over-different.html
Il n'y a pas de moyen direct d'émuler une connexion lente, contrairement, disons, à l'émulateur de connexion réseau Nice que les développeurs de BlackBerry apprécient. Cependant, puisque la connexion de votre simulateur passe par votre ordinateur, vous pouvez simplement vous concentrer sur le ralentissement de la connexion de votre ordinateur.
Vous voudrez réaliser deux choses (selon vos circonstances):
Peut-être que cela vous dirigera dans la bonne direction:
http://www.macosxhints.com/article.php?story=20080119112509736
Il existe également de bonnes solutions open source, mais je ne me souviens donc pas de leurs noms.
Cette question pourrait aider: Comment limiter le trafic réseau pour la simulation d'environnement?