MacOS-使用iCloud为iOS/MacOS创建查找同步扩展

MacOS-使用iCloud为iOS/MacOS创建查找同步扩展,ios,xcode,macos,findersync,Ios,Xcode,Macos,Findersync,这是一个理论性很强的问题,但对我来说非常重要,我该如何着手下一步 我正在开发一个SwiftuiMacOS应用程序,用户可以上传自己的文件。将元数据存储在CoreData中,并将文件手动存储在文件系统中。目前,我正在为我的应用程序使用默认的文件文件夹 很快,我想在我的Mac OSX应用程序和iOS应用程序之间进行iCloud同步。我读过这方面的文章,它应该有用。CoreData应该没有问题 现在我的问题是,我想这样做是否可行: 我想为我的Mac OSX应用程序创建一个扩展,这样我就有了一个自己的文

这是一个理论性很强的问题,但对我来说非常重要,我该如何着手下一步

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

很快,我想在我的Mac OSX应用程序和iOS应用程序之间进行iCloud同步。我读过这方面的文章,它应该有用。CoreData应该没有问题

现在我的问题是,我想这样做是否可行:

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

  • 我是否能够将存储在Finder sync Extension中的这些文件与iCloud同步到我的iOS应用程序
  • 我可以在iOS上创建一个扩展名来显示这些文件吗
我没有将我的文档存储在
CoreData
的数据块中,也不允许外部存储。我手动存储所有数据。我仍然可以通过iCloud同步我的文档


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

Finder Sync Extension不应该“做”任何同步。事实上,苹果公司特别建议对任何类似网络的活动使用单独的后台流程:

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

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

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

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

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


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

非常感谢您的澄清。我现在明白多了。因此,我认为它将用于默认文件夹,Finder Sync不是安静的必需。还有一点也许你知道,当我将文件本地存储在目录中而没有任何Finder sync时,我也可以将这些文件同步到iOS。它不是直接存储在CoreData中,只有引用存储在那里。@davidev我不确定iCloud存储是如何为应用程序工作的。这可能最适合回答一个新问题好吧。。感谢你的帮助和时间!非常感谢。