【发布时间】:2021-03-16 21:34:20
【问题描述】:
我们的应用程序使用通用链接,并且 AASA 文件似乎工作正常,因为电子邮件中的超链接以及 QR 编码的 URL 都启动了应用程序。它们都会导致调用 SwiftUI .onOpenURL(perform:) 函数。
使用 NFC 时会有些混乱。 URL 被识别并且应用程序启动,表明该问题与 AASA 无关。但是,不会调用 onOpenURL 函数。谁能告诉我如何处理来自 NFC 的通用链接?理想情况下,我希望它保持纯粹的 SwiftUI,但如果我需要使用 AppDelegate,那就这样吧。
SwiftUI 主文件中的代码是:
import SwiftUI
@main
struct MyApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
ContentView()
.onOpenURL(perform: { url in
print("url opened:\(url)")
// prints when opened from URL in email,
// Notes or QR code, but not when opened
// from URL embedded in NFC NDEF
})
}
}
}
我也尝试在 AppDelegate 中定义 application(_:continue:restorationHandler:) 函数,但也没有被调用。
感谢您的帮助。
【问题讨论】: