Existe-t-il un moyen de ralentir la connexion Internet au simulateur d'iPhone, de manière à imiter la réaction de l'application lorsque vous vous trouvez dans un endroit lent sur le réseau cellulaire?
Existe-t-il un moyen de ralentir la connexion Internet au simulateur d'iPhone, de manière à imiter la réaction de l'application lorsque vous vous trouvez dans un endroit lent sur le réseau cellulaire?
Réponses:
Une application appelée SpeedLimit
https://github.com/mschrag/speedlimit
Fonctionne très bien.
chris.
Failed to set speed limit
Ces instructions sont à jour en octobre 2019.
Avertissement: si vous venez de passer à la nouvelle version de macOS, assurez-vous d'installer le tout dernier conditionneur de réseau ( dans les outils supplémentaires pour Xcode ), sinon il peut échouer en silence ; c'est-à-dire que vous l'allumerez mais il ne ralentira rien et ne supprimera aucun paquet.
Mise à jour: à partir de Xcode 11, il peut y avoir un moyen encore plus simple de simuler les conditions du réseau sur des appareils connectés; voir ce billet de blog . Pour savoir comment affecter les appareils simulés , continuez ci-dessous, comme précédemment.
Installez Xcode si vous ne l'avez pas.
Ouvrez Xcode et accédez à Xcode ›Open Developer Tool› Plus d'outils de développement…
Téléchargez des outils supplémentaires pour Xcode (correspondant à votre version actuelle de Xcode)
Ouvrez l'image disque téléchargée et double-cliquez sur Network Link Conditioner .prefpane sous «Matériel» pour l'installer.
On y va!
Assurez-vous de l'activer. Vous devez sélectionner un profil et activer le conditionneur de réseau avec le gros bouton bascule qui devrait être familier dans le panneau de préfecture de Time Machine.
Cela n'affectera pas l'hôte local, alors assurez-vous d'utiliser un serveur intermédiaire ou l'ordinateur d'un collègue pour simuler des connexions réseau lentes à une API que vous exécutez vous-même. Vous trouverez peut-être 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
dossier, par exemple "/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
dossier, 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 identifiant Apple): https://developer.apple.com/downloads/index.action
(crédits à @nverinaud)
Xcode
-> Open Developer Tool
-> More Developer Tools...
, connectez-vous, recherchez la dernière archive, téléchargez, copiez les fichiers quelque part, double-cliquez sur le volet de préférences du conditionneur de réseau, installez-le. . Yay!
Il convient également de mentionner que Xcode a également un moyen intégré pour les appareils , pas le simulateur.
cmmd+shift+2
)Pour que cela fonctionne, vous devez installer «Network Link Conditioner». Voir la mention des étapes dans la réponse d'Alan
Il n'y a pas de moyen direct d'émuler une connexion lente, contrairement, par exemple, au bel émulateur de connexion réseau 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 votre situation):
Peut-être que cela vous orientera 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?
Je dirais qu'une connexion lente n'est pas suffisante pour simuler le comportement réel du réseau de données mobile - car il y a aussi beaucoup plus de perte 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