Handling Internet Connection reachability Swift 5

Handling Internet Connection reachability Swift 5
Handling Internet Connection reachability Swift 5

Intro

Today, more and more applications require an internet connection. I will cover handling internet connection reachability on iOS using Swift 5 in this article.

Showing network connection status helps user to understand if something went wrong. In most of cases just showing spinner is not enough (it doesn’t indicate that network is down). Especially if loader keep spinning more than a few minutes. Whether it is a problem with the server, loss of internet connection or a problem on the device.

Showing more details and information about network status helps user to understand that there is a problem with connection,  fix this problem (if user can) or retry later.

For integration of this approach you will need 1-2 minutes.

Or you might download source here and just use it ☺️

Problem

Handle the problem with the internet connection and display warning alert to user or make new query when connection will restore.

Solution

For this purpose, I use Reachability library.

Step 1: Install Reachability.swift

To install Reachability.swift with CocoaPods:

1 Make sure CocoaPods is installed.
2. Update your Podfile to include the following:

use_frameworks!
pod 'ReachabilitySwift'

3. Run pod install.

If you are (for whatever reason) not using CocoaPods you can install Reachability.swift with Carthage or manually.

Step 2: Handle connection changes

Create ReachabilityObserverDelegate

I have created an extension with the default declaration of addReachabilityObserver and removeReachabilityObserver where an object that adopt ReachabilityObserverDelegate protocol subscribes/unsubscribes internet reachability. Unlike reachabilityChanged, which requires implementation (and is responsible for handling).

Step 3: Usage of ReachabilityObserverDelegate

It’s easy to integrate into different classes and projects.

Recap

So, here is example of usage in app:

Handling Internet Connection Reachability in iOS app (Swift 5)
Handling Internet Connection Reachability in iOS app (Swift 5)

Thanks for the reading. I hope you learned how to handle internet connection status from this article. You can download gist


Check my articles: how to create own custom xCode Template or basic typography design system for iOS using Swift.


You might also view my app and how I used approach described above.


If you have any questions or spot any errors please let me know.

Written with ❤️ by Rita