如何在iOS中实现深层链接

时间:2018-05-09 11:06:51

标签: ios swift xcode9 deep-linking appdelegate

我在我的应用中实施深层链接时遇到问题。我正在使用一个名为accenggage的通知,可以看到here。一旦我在我的代码中的AccengageConfig.plist文件中使用conf设置启动SDK,如文档中所示,即我在AppDelegate的didFinishLaunchingWithOptions方法中执行Accengage.start(),我注意到打开url的函数永远不会调用。但它会在我的日志中打印有效负载,但我无法访问它,以便在我的代码中使用它。如果我评论它,一切都很完美。请让别人以前用过这个,试着看看我哪里出错了。当我在safari中打开链接时,它会在应用程序中进行午餐,但不会按照我的要求打印网址,也不会打开相关视图。我教过我的问题是深层链接实现,但事实并非如此,而是Accengage我没有正确使用它,并且如果有人可以在推送时获得如何获取URL的方法会很高兴与Accengage一起发送。谢谢!

func application(_ application: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
    print("url \(url)")
    print("url host :\(url.host as String?)")
    print("url path :\(url.path as String?)")


    let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)


    if(url.host == "/details"){

        let Ads_details: CollectionDetailViewController = mainStoryboard.instantiateViewController(withIdentifier: "CollectionDetailViewController") as! CollectionDetailViewController
        self.window?.rootViewController = Ads_details
    } else if (url.host == "/profile"){
        let User_profil: UserProfileViewController = mainStoryboard.instantiateViewController(withIdentifier: "UserProfileViewController") as! UserProfileViewController
        self.window?.rootViewController = User_profil
    }
    self.window?.makeKeyAndVisible()
    return true
}

0 个答案:

没有答案