webViewDidFinishLoad () no parece estar ejecutándose en Swift

Tengo un controlador de vista para una vista web, configurado a través deKINWebBrowser.

He intentado varias formas de ejecutar estos métodos:

func webViewDidStartLoad(webView: UIWebView) {
    print("Strat Loading")
}
func webViewDidFinishLoad(webView: UIWebView) {
    print("Finish Loading")
}
func webView(webView: UIWebView, didFailLoadWithError error: NSError?) {
    print(error?.localizedDescription)
}
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
    return true
}

override func webViewDidFinishLoad(_ webView: UIWebView) {
    super.webViewDidFinishLoad(webView)
    print("Finish Loading 2")
}

Pero nada parece estar funcionando.

La definición de mi clase parece normal:class WebBrowserViewController: KINWebBrowserViewController, NavigationProtocol {

Pero no importa lo que haga: anular func o no, no parece que se ejecute ningún logger o declaración de impresión que coloque en estas funciones.

¿Qué estoy haciendo mal? Estoy tratando de crear un evento que escuche cuando se cargue todo el contenido web para que pueda dejar de aparecer una rueda de carga.

EDITAR: Agregar información de delegado:

Cuando intenté agregar un delegado a viewDidLoad ():

webView.delegate = self

Recibí el siguiente error:

Ambiguous reference to member 'webView(_:decidePolicyFor:decisionHandler:)'

Esta es mi viewDidLoad () sin la configuración de delegado:

override func viewDidLoad() {
    super.viewDidLoad()

    pointsNavigationItem = addPointsButtonToNavigation()

    self.showsURLInNavigationBar = false
    self.showsPageTitleInNavigationBar = false;

    self.tintColor = UIColor.navText

    self.barTintColor = .navBackground

}

¿No estoy seguro de que KinWebBrowser delega de la misma manera?

Agregó elKINWebBrowserDelegate a la definición de clase y agregó los siguientes métodos:

func webBrowser(_ webBrowser: KINWebBrowserViewController!, didFailToLoad URL: URL!, error: Error!) {
    print("DEBUG 5")

}

func webBrowserViewControllerWillDismiss(_ viewController: KINWebBrowserViewController!) {
    print("DEBUG 1")
}

func webBrowser(_ webBrowser: KINWebBrowserViewController!, didStartLoading URL: URL!) {
    print("DEBUG 2")

}

func webBrowser(_ webBrowser: KINWebBrowserViewController!, didFinishLoading URL: URL!) {
    print("DEBUG 3")

}

func didChangeValue<Value>(for keyPath: KeyPath<WebBrowserViewController, Value>) {
    print("DEBUG 4")

}

Ninguna de las depuraciones se llama en el registro.

Respuestas a la pregunta(1)

Su respuesta a la pregunta