[NOTE this is my old page saved for enjoyment of future generations, many links dead]

Jeff McLellan | Data Analysis & App Developer

Network Link Conditioner

If you ever want to test out how your app will respond minus an internet connection thankfully Apple has the perfect tool - the Network Link Conditioner. For any iOS development you need this tool - it allows you kill or slow your app's connection so that you can program solutions in your code and not have app failures when users lose internet access.
 
It's easy to find - within XCode 6 go to top left on top toolbar and click on "Xcode" then "Open Developer Tool", then select "More Developer Tools..."


This will bring you to the Apple Developer website. You'll need to login and then put "Hardware" in the search box. You'll want to select "Hardware IO Tools for Xcode 7"


Once you download the file and click to open you'll see it contains several files. The Network Link Conditioner is the file named "Network Link Conditioner.prefPane". Click it to install.


Now go to your System Preferences. You'll see a new icon Network Link Conditioner.


The tool is very straight forward. It has an ON/OFF switch and a Profile dropdown. To simulate no connection select the "100% Loss" and turn it on. NOTE: this will affect the network connection of your complete machine - so not only does the iOS app you have in the iOS simulator lose the network - your laptop does too. But no worries - turn the app to OFF and your network come back. The profile also allows you to select other preset speeds so you can experience your app as though you have a slow connection.


If you click on the Manage Profiles you can get waaaayy too fancy with this tool. You could develop some interesting scenarios with all the available settings. Such as allow your app to send but no return - so if the app can send out an update to a remote server and it doesn't hear back - what happens to your app? Now you can find out. :)