iPhone Simulator - Simulate a slow connection?
How to install Apple’s Network Link Conditioner
These instructions current as of October 2019.
Warning: If you just upgraded to new version of macOS, make sure you install the very latest Network Conditioner (in Additional Tools for Xcode) or it may silently fail; that is, you will turn it on but it won’t throttle anything or drop any packets.
Update: As of Xcode 11, there may be an even simpler way to simulate network conditions on tethered devices; see this blog post. For how to affect simulated devices, continue below, as before.
-
Install Xcode if you don’t have it.
-
Open Xcode and go to Xcode › Open Developer Tool › More Developer Tools…
- Download Additional Tools for Xcode (matching your current Xcode version)
- Open the downloaded disk image and double-click the Network Link Conditioner .prefpane under “Hardware” to install it.
- There we go!
- Be sure to turn it on. You need to select a profile and enable the network conditioner.
Caveat
This won't affect localhost, so be sure to use a staging server or co-worker's computer to simulate slow network connections to an API you’re running yourself. You may find https://ngrok.com/ helpful in this regard.
"There's an app for that!" ;) Apple provides "Network Link Conditioner" preference pane that does the job quite well.
- for Xcode versions prior to 4.3, the pane installer can be found in your
Developer
folder, e.g."/Developer/Applications/Utilities/Network Link Conditioner"
, after installation, if daemon fails to start and you don't want to reboot your machine, just usesudo launchctl load /system/library/launchdaemons/com.apple.networklinkconditioner.plist
- if you are already done with
Developer
folder, you can install the pane as a part of "Hardware IO Tools for Xcode" package available via Mac Dev Center additional downloads section.
Link to download page (you must log in with your Apple ID): https://developer.apple.com/downloads/index.action
(credits to @nverinaud)