1

这是一个非常理论化的问题,但对我来说很重要,我如何处理我的下一步。

我正在开发一个 SwiftUI MacOS 应用程序,用户可以在其中上传自己的文件。存储在 CoreData 中的元数据和我手动存储在文件系统中的文件。目前我正在为我的应用程序使用默认文件夹。

很快我想在我的 Mac OSX 应用程序和我的 iOS 应用程序之间进行 iCloud 同步。我读过它,它应该可以工作。CoreData 应该没问题。

现在我的问题是是否有可能以我正在考虑的方式处理它:

我想为我的 Mac OSX 应用程序创建一个Finder 同步扩展,所以我有一个自己的文件夹,可以将其添加到收藏夹并进行观察。我希望我所有的本地文件都存储在那里。那应该工作..

  • 我能否将存储在 Finder 同步扩展中的这些文件与 iCloud 同步到我的 iOS 应用程序?
  • 我也可以在 iOS 上创建一个扩展来显示这些文件吗?

我没有将我的文档存储在CoreData或允许外部存储的数据 blob 中。我手动存储所有。我还能通过 iCloud 同步我的文档吗?

总而言之,我想知道我是否可以将我的文件存储在 Finder 文件夹中,并且仍然让它们与 iCloud 同步到 iOS?如果这不可能,请告诉我。正手知道会很有趣。

4

1 回答 1

2

Finder 同步扩展不应该“做”任何同步。事实上,Apple 特别建议为任何类似网络的活动使用单独的后台进程:

如果扩展程序专注于处理徽章、上下文菜单和工具栏按钮,通常是最好的。将执行同步、更新状态或与远程数据源通信的任何代码放在单独的服务(登录项或启动代理)中。这种方法可确保一次只运行一个同步服务。

https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/Finder.html

Finder 同步扩展用于提供文件标记、菜单以及修改 Finder 的 UI。

添加 Finder 扩展程序不会为您提供文件夹,更不用说同步了。

您需要提供文件夹和与之相关的所有沙箱详细信息。您的主应用程序和/或后台进程需要提供同步服务。

总之,您的主应用程序处理所有同步。

Finder 扩展更新某些文件夹的 UI。它本身不提供任何同步。因此,您的任何“与 iCloud 同步”问题都应该独立于 Finder 同步扩展上下文来提出。

于 2020-04-03T05:46:44.267 回答