gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 05:29:13 24 4
gpt4 key购买 nike

完全按照描述实现每一种步骤。应用程序打开成功,但未获取 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.4Xcode 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com