Latest in Checks

Image credit:

iPhone devsugar: Improved Network Reachability routines

Erica Sadun, @ericasadun
December 30, 2009
Share
Tweet
Share

Sponsored Links

Apple makes it clear: when applications rely on network connectivity, they must always test for a valid connection and report those results to the user. If the app cannot reach the Internet, the user needs to know. App Store reviewers regularly reject applications that do not test, and when a connection is not found, report that the network cannot be accessed.

Developers need to integrate this process into their apps. If your app connects to a server, for example, it must test the current iPhone configuration and report to the user whenever the network cannot be reached. Apple provides sample code to help with this.

iPhone developer Andrew Donoho was not particularly impressed by Apple's sample reachability code. So he decided to do something about it. He has created an open source, BSD-licensed update, which he posted on his website. His updated reachability utilities fix a few Apple misspellings and tunes up the code, allowing you to revert to the original implementation via compiler flags.

You can easily download his update and integrate it into your iPhone applications. His write-up describes the testing process and offers an implementation process for successive network tests. You build your decision tree and user feedback off the results of each test. Donoho has provided this code to allow others to build off his work without having to re-invent the entire process from Apple's original source.

If you're interested in a slightly different take on reachability, you might also want to take a peek at my UIDevice Extension category, which provides a number of other approaches to Reachability checks. Among other features, the category includes a WiFi check and hooks that allow you to change reachability status from within your application. As noted in the code, these Airplane Mode hooks are for testing only and not App Store safe.









All products recommended by Engadget are selected by our editorial team, independent of our parent company. Some of our stories include affiliate links. If you buy something through one of these links, we may earn an affiliate commission.
Share
Tweet
Share

Popular on Engadget

Apple program will replace AirPods Pro buds with crackling, ANC issues

Apple program will replace AirPods Pro buds with crackling, ANC issues

View
$149 Playdate handheld is 'ready to go,' orders start in early 2021

$149 Playdate handheld is 'ready to go,' orders start in early 2021

View
Chevy will start selling EV retrofit kits in 2021

Chevy will start selling EV retrofit kits in 2021

View
Roborace engineer explains why a driverless racecar drove into a wall

Roborace engineer explains why a driverless racecar drove into a wall

View
Ubisoft pulls post about PS4 games not working on PS5, cites 'inaccuracies' (updated)

Ubisoft pulls post about PS4 games not working on PS5, cites 'inaccuracies' (updated)

View

From around the web

Page 1Page 1ear iconeye iconFill 23text filevr