iOS Network Link Conditioner

William Welbes on January 15, 2014

Need to test your app on slow cellular connections? Bring on the iOS network link conditioner! As a best practice for mobile development, developers and testers should test network connected apps under lots of different network conditions on real mobile devices. The simulator can be great for some development activity, but a majority of your development and testing should be on a real device.

Mobile devices connect to the Internet via a wide range of connection types and speeds. Network unreliability is an expected condition on mobile. Our mobile devices push the paradigms of network connectivity into new space. So how do we test for these different conditions? Thankfully, Apple has included a network link conditioner right in iOS that helps to simulate different types of network connections right on a development device.

  1. Ensure your device is enabled as a development device via Xcode. If you haven’t already done so, inside Xcode, open up the Organizer window. Tap on the Devices tab. Select your connected device and view the information in the right panel. Click the “Use for Development” button if you haven’t already done so. Now your device is enabled for development and the settings menu will include a new menu option.

  2. Open settings in the iOS 7 device. Scroll down to find the “Developer” menu option.

iOS 7 Settings: Developer Menu Option

  1. Tap “Developer” and you’ll see the developer options below listed.

iOS 7 Settings: Developer

  1. Tap on “Network Link Conditioner” to view the options.

iOS 7 Settings: Link Conditioner

  1. Choose one of the pre defined profile options like 3G or Edge to simulate a slower network connection. You can also add a custom profile where you define items like the bandwidth, packet loss, delay, etc.

iOS 7 Settings: Add Link Conditioner Profile

  1. Tap the “Enable” switch to turn on the network link conditioner with the selected profile.

  2. Test your app! With the link conditioner turned on, go test your app and see how it operates under different network conditions. Think about the areas of the app that make network requests and ensure that your app responds appropriately to time outs, data loss, etc.

  3. Don’t forget, when you’re done testing, turn the network conditioner off! It’ll be pretty frustrating trying to do most things on your device with it turned on.

comments powered by Disqus