swift - 动态链接 Firebase 函数根本没有被调用 Xcode 12?

标签 swift xcode firebase swiftui firebase-dynamic-links

所以我有一个正在运行的动态链接,当我单击它时它会打开应用程序,但不会处理动态链接。这是因为从未输入下面看到的应用程序功能,我不确定为什么...

func handleIncomingDynamicLink(_ dynamicLink: DynamicLink){
    guard let url = dynamicLink.url else {
        print("That's weird. My dynamic link object has no url")
        return
    }
    print("Your incoming link parameter is \(url.absoluteString)")
}

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
    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 {
            return false
        }
    }
    return false
}

非常感谢任何帮助——这是否可能是 Firebase 本身的问题?

最佳答案

SwiftUI 2.0/@main 应用 对于新的 SwiftUI 2.0,您可以仅使用 SwiftUI 制作应用程序。这意味着您不使用 AppDelegate 或 SceneDelegate。然后,您必须使用 .onOpenURL 来获取单击链接时调用的任何操作。我将其用于 Firebase 动态链接。

WindowGroup {
  ContentView()
    .onOpenURL { url in
      // handle the URL that must be opened
      let incomingURL = url
      print("Incoming URL is: \(incomingURL)")
      let linkHandled = DynamicLinks.dynamicLinks().handleUniversalLink(incomingURL) { (dynamicLink, error) in
          guard error == nil else {
             print("Error found!: \(error!.localizedDescription)")
                return
          }
          if let dynamicLink = dynamicLink {
             self.handleDynamicLink(dynamicLink)
          }
       }
       if linkHandled{
          print("Link Handled")
          return
       }else{
          print("NO linkHandled")
          return
       }
    }
}

关于swift - 动态链接 Firebase 函数根本没有被调用 Xcode 12?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63893945/

相关文章:

firebase - Firestore : How to design a Data model to make querying documents that are not exist in an array possible?

ios - 为什么 TableView 是空的

c++ - 子对象(看似)随机设置为 NULL 或 'illegal object' ;如何调试?

ios - CKRecord 获取返回 1 条 RecordID 为空的记录

ios - Xcode 5 调试器不打印对象

swift - 如何使用 stateobject 作为参数初始化 View ?

javascript - 使用 Firebase Auth for Google 将匿名用户转换为注册用户

android - 用户在 Firebase 上删除另一个用户

ios - 即使在指定 Bundle 时,在 IBDesignable Views 中使用 Assets 目录中的命名颜色也会导致 IB 崩溃

swift - 无法从类中访问值