|Dedicated Web Browser|
This sample project instantiates an Apple's WKWebView class and uses it as the backbone of our dedicated web browser. This class comes equipped with a delegate, WKNavigationDelegate, protocol that we interface with for the purpose of controlling where the user navigates too. We also use Key Value Observing (KVO) to listen in on changes to the browser's forward and backward history to toggle the availability of those buttons and the estimated progress to finish when content is loading and a separate content loading Boolean flag to control whether the progress bar is visible or not. This project also displays an alert message if the user attempts to stray from our site's root domain.
This project can be found on GitHub.