iPhone Simulator – Simule une connexion lente?

Y a-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 du réseau cellulaire?

Une application appelée SpeedLimit

https://github.com/mschrag/speedlimit

Fonctionne très bien.

chris.

Comment installer le conditionneur de liaison réseau Apple

Instructions du 4 novembre 2016 – macOS Sierra 10.12.
Avertissement: Si vous venez de mettre à niveau vers MacOS Sierra, assurez-vous d’installer le très récent Network Conditioner ( dans Outils supplémentaires pour Xcode 8.2 ) ou il échouera silencieusement . c’est-à-dire que vous l’activez, mais qu’il n’accélérera rien et ne laissera tomber aucun paquet.

  1. Installez Xcode si vous ne l’avez pas

  2. Ouvrez XCode et accédez à Xcode ›Open Developer Tool› Plus d’outils de développement…

    Capture d'écran de la navigation dans le menu comme décrit

  3. Télécharger des outils supplémentaires pour Xcode

    Lien de téléchargement des outils IO supplémentaires

  4. Ouvrez l’image disque téléchargée et double-cliquez sur le fichier .prefpane pour l’installer.

    volet pref dans DMG

    Préférences système affichant l'invite d'installation

  5. Nous y allons!

    Capture d'écran du volet de préférences

  6. Assurez-vous de l’allumer. Vous devez sélectionner un profil et activer le conditionneur de réseau avec la grande bascule qui devrait vous être familière depuis le sous-volet Time Machine.

    entrer la description de l'image ici

Caveat

Cela n’affectera pas localhost, alors assurez-vous d’utiliser un serveur de transfert ou un ordinateur de travail 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 le travail très bien.

  • pour les versions Xcode antérieures à 4.3, le programme d’installation du volet se trouve dans votre dossier Developer , par exemple "/Developer/Applications/Utilities/Network Link Conditioner" , après l’installation, si le démon ne démarre pas et que vous ne souhaitez pas redémarrer votre ordinateur , utilisez simplement sudo launchctl load /system/library/launchdaemons/com.apple.networklinkconditioner.plist
  • Si vous avez déjà terminé avec le dossier Developer , vous pouvez installer le volet dans le cadre du package “Hardware IO Tools for Xcode” disponible via la section des téléchargements supplémentaires du 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)

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 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):

  • limiter votre bande passante
  • augmenter votre latence

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 pas de leurs noms.

Cette question pourrait vous aider: Comment limiter le trafic réseau pour la simulation de l’environnement?

Je dirais qu’une connexion lente ne suffit pas à simuler un comportement de 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 perdues.

Voici un script pratique pour configurer le pare-feu pour émuler ces parameters:

http://pmilosev-notes.blogspot.com/2011/02/ios-simulator-testing-over-different.html