繁体   English   中英

SwiftUI / AppKit 嵌入式应用程序(例如扩展程序)和主应用程序之间的交互

[英]SwiftUI / AppKit Interaction between embedded app (e.g. extension) and main app

在我的 SwiftUI / AppKit 应用程序中,我有一个主应用程序和一个扩展程序(在我的情况下是 Finder 同步扩展程序),我想将一些数据从我的扩展程序发送到主应用程序(例如调用主应用程序中的方法)。

扩展嵌入在主应用程序中。

我实际上已经找到了解决这个问题的有效解决方案,但它并不是最优的。 我的解决方案通过在扩展中打开 URL 并使用 URL 方案在主应用程序中接受数据来工作。 (这远非最佳,但因为我需要对 object 进行编码,我实际上想通过 JSON、URL 对其进行编码,然后在另一侧对其进行解码)

总而言之,在嵌入式应用程序(例如扩展)和主应用程序之间发送数据/交互的最佳/最简单方法是什么?

有多种方法可以做到这一点,但最有可能的是,您希望主应用程序将数据写入扩展程序可以访问的位置,然后从扩展程序中读取数据。

您应该阅读FileManager.containerURL(forSecurityApplicationGroupIdentifier:)的文档,其中讨论了 MacOS 中应用程序组的目录: https://developer.apple.com/documentation/foundation/filemanager/1412643-containerurl

一旦你有了一个主应用程序和扩展程序都可以读取的目录,你可以在那里写你需要的任何东西,然后在适当的时间从扩展程序中读取它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM