No se puede interceptar los errores de la Política de transporte de la aplicación en UIWebView

Tengo una aplicación iOS en Swift donde muestro una UIWebView donde muestro el contenido recibido de un WebService (que no tengo control sobre). Algunas de estas URL son direcciones HTTP inseguras, por lo que implementé un pequeño mecanismo para abrir la URL en Safari cuando recibo errores de la Política de transporte de aplicaciones:

 // MARK: UIWebViewDelegate func webView(webView: UIWebView, didFailLoadWithError error: NSError?) { guard let error = error else { return } NSLog("Received error: \(error)") if error.domain == NSURLErrorDomain && error.code == NSURLErrorAppTransportSecurityRequiresSecureConnection { NSLog("App transport policy error") // Open in safari //UIApplication.shanetworkingApplication().openURL(url) } } 

Hasta ahora funciona como se esperaba, cuando bash abrir (o navegar) una URL insegura, se intercepta un error NSURLErrorAppTransportSecurityRequiresSecureConnection , luego cierro la vista web y abro Safari.

Sin embargo, cuando el HTML usa algunos resources inseguros, la página no se carga pero no recibo ningún error. Por ejemplo, el siguiente HTML:

 <html> <head> <style type="text/css"></style> </head> <body> <p><img src="http://i.imgur.com/nwo13SM.png" style="width:100%"></p> </body> </html> 

Cae un post de error en la línea de command:

App Transport Security ha bloqueado una carga de resources HTTP (http: //) de text sin formatting ya que es insegura. Las excepciones temporales se pueden configurar a través del file Info.plist de su aplicación.

Pero no se llama al método delegado de vista web, así que termino con una página llena de errores en lugar de abrir en Safari.

¿Hay alguna forma de detectar / interceptar estos errores de contenido inseguro para abrir la URL en Safari?

NOTA: No quiero cargar contenido inseguro. Quiero detectarlo y networkingirigirlo a Safari.