我正在尝试让一个简单的SwiftUI iOS自定义文档应用程序与Airdrop一起工作。从文件或邮件附件打开文档时,应用程序成功打开文档。然而,当Airdrop从我的mac发送自定义类型的文档时,当从Airdrop通知中选择该应用程序时,该应用程序会启动,但只显示文件浏览器,文件似乎不会被复制。不显示DocumentGroup视图。
如果我从空投菜单中选择文件,我可以保存文件。
我在基于文档的应用程序的Apples示例代码中尝试过,它在我的iPhone(iOS 16.0.2(上表现出完全相同的行为。要么这是一个错误,要么需要一些额外的秘密酱汁才能让SwiftUI文档应用程序通过Airdrop接收文件。
我的自定义类型符合public.content
,我知道这是空投支持所必需的。
有人能通过SwiftUI文档应用程序获得空投接收吗?
我也遇到了同样的问题。
到目前为止我发现了什么:
1。通过Airdrop接收的文件被放置在您的";收件箱";文件夹此目录位于此处:
let docUrl = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
您可以将UIApplicationDelegate和UISceneDelegate添加到您的swiftui应用程序中。当通过Airdrop接收到新文件时,您可以在这里获得触发器。
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>)
当您在浏览器中使用URL打开应用程序时,通常会触发此功能。
我正在等待DocumentGroup中的集成解决方案。
https://developer.apple.com/documentation/swiftui/documentgroup