ios - 通用链接打开应用程序但不获取网址数据

标签 ios ios-universal-links

完全按照描述实现每一种步骤。应用程序打开成功,但未获取 URL 数据。

完全按照描述实现每一种步骤。从 Gmail 发送链接,链接会打开应用程序,所以是的,它可以工作。 但这里有两个问题

1-我到底如何调试和打印应用程序,因为您必须关闭应用程序并断开应用程序和 Xcode 调试器之间的连接才能从通用链接重新打开应用程序!令人沮丧的是,如果我让应用程序在调试器后台运行,通用链接只会将应用程序状态重新激活到前台,但随后该功能 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: ....

未调用

2-无论如何我总是得到“userActivity?.activityType”= nil。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
 if userActivity?.activityType == NSUserActivityTypeBrowsingWeb {
            let univrsalLinkURL = userActivity?.webpageURL!.absoluteString
//            remoteParmNumTxt = univrsalLinkURL!
            print(univrsalLinkURL!)
        }
return true
}

应该能够捕获url和url数据 iOS 12.4 Xcode 10.3

最佳答案

经过多次尝试让应用程序运行并获取网址数据 iOS 中似乎发生了一些变化,其中“userActivity”将始终为零,除非您从“application”函数的重载中获取它

所以@Simon McLoughlin 解决方案通过建议使用此函数确实解决了一半的问题

func application(_ application: UIApplication,
             continue userActivity: NSUserActivity,
             restorationHandler: @escaping ([Any]?) -> Void) -> Bool

但是“仅”当应用程序已在后台运行时,才会触发此重载。

好吧,如果应用程序在未运行时通过通用链接打开,那么对我来说,让应用程序获取网址数据的唯一解决方案如下

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {

    let activityDictionary = launchOptions?[UIApplication.LaunchOptionsKey.userActivityDictionary] as? [AnyHashable: Any] ?? [AnyHashable: Any]()
    let activity = activityDictionary ["UIApplicationLaunchOptionsUserActivityKey"] as? NSUserActivity ?? nil

    if let finalString = activity?.webpageURL?.absoluteString {
        remoteParmNumTxt = finalString
    }

    print("dic",activity?.webpageURL)
    print("yesssss loaded from url")

    return true
}

如果您尝试直接使用“userActivity”,无论如何它都会给您零值

所以,苹果文档很糟糕

关于ios - 通用链接打开应用程序但不获取网址数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57824449/

相关文章:

iOS 在 UILabel 中设置文本背景颜色(圆 Angular 矩形)

iphone - 锁定屏幕后重新加载 iPhone 应用程序

带有通配符的 iOS 关联域(通用链接)不起作用

ios - 通用链接(深度链接)不适用于 iPhone 但适用于 iPad

ios - 强制通用链接在 Mobile Safari 中打开

ios - 使用 Social Framework 从 Facebook 获取基本信息(id,first_name) - 附上源代码和屏幕截图

ios - 使用 addSubView 将 View 添加到另一个 View 后调整 View 大小

ios - testflight会改变App ID吗?

ios - 通用链接是否缓存在 iOS 中?他们离线工作吗?

ios - UIScrollView 内部的 UIScrollView : Scrolling