2016-12-29 10 views
0

この問題で私を助けてください。私はユニバーサルリンクをhttps://www.raywenderlich.com/128948/universal-links-make-connectionに従って実装しています。問題は私がリンクをクリックすると、アプリケーションの代わりにウェブブラウザにリダイレクトされるということです。そしてサファリブラウザでは、ページを下にスクロールすると、OPENボタンも付いたバナーが表示されます。これをクリックすると、私のアプリが開き、ロジックに応じて特定のビューコントローラーが開きます。だから、なぜ最初にブラウザで開いているのですか?アプリがインストールされている場合は、ウェブブラウザではなくアプリで直接開く必要があります。ユニバーサルリンクはSafariブラウザの上にバナーを表示しています

私のアプリデリゲートのメソッドは次のとおりです。

func application(application: UIApplication, continueUserActivity userActivity: NSUserActivity, restorationHandler: ([AnyObject]?) -> Void) -> Bool { 

     if userActivity.activityType == NSUserActivityTypeBrowsingWeb { 
      guard let url = userActivity.webpageURL else { 
       return false 
      } 
      openViewController(url) 
     } 
     return true 
    } 

func openViewController(url: NSURL) { 
     let components = NSURLComponents(URL: url, resolvingAgainstBaseURL: true) 
     print(components) 
     print(url.absoluteString) 
     if url.host == "refit.co" && (url.pathComponents![2] == "supplements" || url.pathComponents![2] == "equipments") { 
      print("This is the supplements/equipments universal link") 
      let storyboard = UIStoryboard(name: "Main", bundle: nil) 
      let vc = storyboard.instantiateViewControllerWithIdentifier("Home") 
      let navController = self.window?.rootViewController as? UINavigationController 
      navController?.pushViewController(vc, animated: false) 
      let vc2 = storyboard.instantiateViewControllerWithIdentifier("SupplementDetail") as? VCSupplementDetail 
      vc2?.itemID = getID(url.query!) 
      vc2?.screenName = url.pathComponents![2] == "supplements" ? "Supplements" : "Equipments" 
      navController?.pushViewController(vc2!, animated: true) 
      print("Query: \(url.query)") 
     } else { 
      print("This is the url: \(url)") 
      print(url.host) 
      print(url.path) 
      print(url.query) 
      print(url.pathComponents) 
     } 
    } 

答えて

0

それはあなたが誤っユニバーサルリンクを無効ように聞こえます。これは、通常、ユニバーサルリンクを開いた後、画面の右上隅にあるバイパスリンクをタップすると発生します。プロセスを元に戻す方法の詳細については、this answerを参照してください。

+0

ありがとう@AlexBauer。だからユニバーサルリンク –

+0

Yessirの制限です、残念ながらそうです:( –

関連する問題