[iOS] Survey of Libraries for Checking Network Connection Status

Tadashi Shigeoka ·  Wed, May 8, 2013

A survey of libraries that can be used in iOS apps to check network connection status - or rather, I just ran pod search Reachability.

% pod search Reachability


-> GCNetworkReachability (1.3.0)
   GCNetworkReachability monitors the network state on iOS and OS X devices. Supports ARC, GCD, Blocks, IPv4/IPv6 and OS X/iOS.
   - Homepage: https://github.com/GlennChiu/GCNetworkReachability
   - Source:   https://github.com/GlennChiu/GCNetworkReachability.git
   - Versions: 1.3.0, 1.2.1 [master repo]


-> KSReachability (1.3)
   A better iOS & Mac reachability for a modern age.
   - Homepage: https://github.com/kstenerud/KSReachability
   - Source:   https://github.com/kstenerud/KSReachability.git
   - Versions: 1.3, 1.1, 1.0, 0.0.1 [master repo]


-> NPReachability (0.1.0)
   Reachability without the suck.
   - Homepage: https://github.com/Abizern/NPReachability
   - Source:   https://github.com/Abizern/NPReachability.git
   - Versions: 0.1.0 [master repo]


-> Reachability (3.1.0)
   ARC and GCD Compatible Reachability Class for iOS and OS X. Drop in replacement for Apple Reachability.
   - Homepage: https://github.com/tonymillion/Reachability
   - Source:   https://github.com/tonymillion/Reachability.git
   - Versions: 3.1.0, 3.0.0, 2.0.5 [master repo]


-> SCNetworkReachability (1.0.1)
   Wrapper for SCNetworkReachability methods of SystemConfiguration.framework.
   - Homepage: https://github.com/belkevich/reachability-ios
   - Source:   https://github.com/belkevich/reachability-ios.git
   - Versions: 1.0.1, 1.0.0 [master repo]


-> VPPReachability (0.1.0)
   VPPReachability Library for iOS simplifies access to the status of a given hostname.
   - Homepage: https://github.com/vicpenap/VPPReachability
   - Source:   https://github.com/vicpenap/VPPReachability.git
   - Versions: 0.1.0 [master repo]

After checking GitHub stars, forks, and last update dates, “Reachability” has overwhelmingly more popularity. ・tonymillion/Reachability · GitHub

However, since implementing KVO (Key-Value Observing) separately is tedious, if you want to choose one that already implements KVO, “KSReachability” would be the choice. ・kstenerud/KSReachability · GitHub

That’s all from the Gemba.