相关疑难解决方法(0)

应用程序关闭时动态链接不起作用,仅在后台时

我一直在努力在我的应用程序中包含动态链接。我已经对其进行了设置,以便可以正确生成和接收链接,但它们仅在应用程序打开并在后台运行时才有效。如果应用程序完全关闭,则链接只会打开应用程序。看起来它没有调用 AppDelegate 中的 continueUserActivity 方法,即使我在 didFinishLaunchingWithOptions 方法中返回 TRUE。我已经读到我应该在 didFinishLaunchingWithOptions 方法中获取传入的 URL,但是可用的答案不起作用并且已经过时,所以我希望有人会知道。

这是代码:

class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate, MessagingDelegate{

var window: UIWindow?


func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.
    FirebaseApp.configure()
    return true
}

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
            
    if let incomingURL = userActivity.webpageURL {
        
        let linkHandled = DynamicLinks.dynamicLinks().handleUniversalLink(incomingURL) { (dynamicLink, error) in
            guard error == nil else {
                print(error!.localizedDescription) …
Run Code Online (Sandbox Code Playgroud)

deep-linking firebase swift firebase-dynamic-links uiscenedelegate

7
推荐指数
1
解决办法
951
查看次数

Firebase Deeplink 不调用 Swift 3 中 AppDelegate 的 application:continueUserActivity:restorationHandler 函数

我正在使用 firebase Deeplink URL 打开我的应用程序的特定部分。当应用程序在后台运行时它运行良好,但是当我杀死应用程序并从外部单击深层链接 url 时我不知道如何处理这种情况,我的意思是我应该在哪里写我的条件来获取 url 的参数。

应用程序在后台时调用此应用程序委托方法

   @available(iOS 8.0, *)
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
    guard let dynamicLinks = DynamicLinks.dynamicLinks() else {
        return false
    }
    let handled = dynamicLinks.handleUniversalLink(userActivity.webpageURL!) { (dynamiclink, error) in
        if let dynamicLink = dynamiclink, let _ = dynamicLink.url
        {
            var path = dynamiclink?.url?.path
            path?.remove(at: (path?.startIndex)!)
            let delimiter = "/"
            var fullNameArr = path?.components(separatedBy: delimiter)
            let type: String = fullNameArr![0]
            let Id: String? = …
Run Code Online (Sandbox Code Playgroud)

deep-linking ios firebase swift firebase-dynamic-links

5
推荐指数
1
解决办法
3342
查看次数