我在Firebase中做了一个动态链接,当我点击它时,我的iOS应用程序。问题是,我无法打印有关链接的信息。
我在AppDelegate文件中使用这个函数来处理动态链接:
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
print("Handeling dynamic link")
if let incomingURL = userActivity.webpageURL {
print("Incoming URL is \(incomingURL)")
let linkHandled = DynamicLinks.dynamicLinks().handleUniversalLink(incomingURL) { (dynamicLink, error) in
guard error == nil else {
print("Found an error! \(error!.localizedDescription)")
return
}
if let dynamicLink = dynamicLink {
self.handleIncomingDynamicLink(dynamicLink)
}
}
if linkHandled {
return true
} else {
// Maybe do other things with our incoming url
return false
}
}
return false
}
字符串
当我点击一个动态链接并打开应用程序时,没有一个print语句被打印到控制台。
似乎这个功能从来没有被使用过。
DynamicLink函数是:
func handleIncomingDynamicLink(_ dynamicLink: DynamicLink) {
guard let url = dynamicLink.url else {
print("That is weird. My dynamic link object has no url")
return
}
print("Your incoming link parameter is \(url.absoluteString)")
}
型
我想打印有关URL的信息,以便我可以调试并使用URL中的信息重定向到应用程序中的页面。
当我测试这个的时候,我在连接到我的mac的iPhone上运行这个应用程序,我没有在iOS模拟器上运行它。
2条答案
按热度按时间bihw5rsg1#
你的UIApplication委托方法中的代码看起来很好,我看到的唯一区别是,你的委托方法和我的委托方法相比,我在最后一行返回true,而你返回false。
顺便说一下,在UIApplication委托方法中放置断点,如果你到达委托方法的第一行,请告诉我。你能在
handleIncomingDynamicLink()
方法中找到断点吗?另外,尝试在
applicationDidBecomeActive
中添加以下内容:字符串
并添加此内容:
型
9rbhqvlz2#
不需要麻烦。不需要使用AppDelegate或SceneDelegate。只需使用此代码
字符串
Enjoy:)