web-dev-qa-db-fra.com

iPhone Simulator - Simuler une connexion lente?

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?

107
Chris

Une application appelée SpeedLimit

https://github.com/mschrag/speedlimit

Fonctionne très bien.

chris.

66
PyjamaSam

Comment installer le conditionneur de liaison réseau d'Apple

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.

  1. Installez Xcode si vous ne l'avez pas

  2. Ouvrez XCode et accédez à Xcode ›Outil de développement ouvert› Autres outils de développement…

    Screen shot of navigating the menu as described

  3. Télécharger Outils supplémentaires pour Xcode

    Additional IO Tools download link

  4. Ouvrez l'image disque téléchargée et double-cliquez sur le volet .prefp pour l'installer.

    pref pane in DMG

    system preferences showing installation Prompt

  5. Et voilà!

    Screen shot of the preference pane

  6. 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.

    enter image description here

Caveat

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.

211
Alan H.

"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.

  • pour les versions Xcode antérieures à 4.3, le programme d'installation du volet se trouve dans votre dossier 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
  • 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 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)

79
matm

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

0
Nick Dowell

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

  • étranglez votre bande passante
  • augmentez votre latence

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?

0
JJ Rohrer