2016-11-25 4 views
0

Ich habe eine URL-AnfrageAnruf nur erste Anfrage UIWebView

 let url = URL(string: "https://www.google.com/share?referCode=RSJDofpeW") 

sagen wir, und wir wollen diese URL in WebView öffnen und diese Verbindung ist auch mit den Universal-Links verbunden sind. Wenn Sie diese URL öffnen, wird die installierte Anwendung geöffnet, aber ich möchte die Seite in UIWebView laden. Also habe ich die Delegierten überprüft und festgestellt, dass es beim ersten Mal die obige URL aufruft, und dann beim nächsten Mal die Schema- und Appstore-Umleitung hinzufügt.

func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool { 
     log.verbose(webView) 
     log.verbose(request) 
     log.error(navigationType.rawValue) 
     if request.url?.scheme == "itms-appss" || request.url?.scheme == "googleApp"{ 
      return false 
     } 

     return true 
    } 

So, das Problem zu überwinden, der die Seite nicht in der Webansicht Laden habe ich den Code wie so oben, wenn Schema ist itms-appss oder googleApp es die Anforderung nicht geladen werden, sondern zum ersten Mal, wenn es richtig war url es sollte diese Seite laden, aber das ist nicht geöffnet.

Antwort

1

// Prüfen

var isUrlLoaded : Bool = false; 

// Delegat Funktionen

func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool { 
//check is the url is loaded for first time or not   
if isUrlLoaded != true{ 
       if request.url?.scheme == "itms-appss" || request.url?.scheme == "googleApp"{ 
        return true 
       } 
      } 

      return false 
     } 
     func webViewDidFinishLoad(_ webView: UIWebView) { 
      if webView.request?.url?.scheme == "itms-appss" || webView.request?.url?.scheme == "googleApp"{ 
     // is url loaded  
     isUrlLoaded = true; 
      } 
     } 
+0

dies versucht, aber die Seite geladen wird nicht –

+0

@ParthAdroja Ich versuche einfach bearbeitet –

+0

Ihre bisherigen bearbeiten werden die itms-Apps machen und GoogleApp zum Öffnen und nicht die Webseite. –