【问题标题】:MacOS - creating Finder Sync Extension with iCloud for iOS/MacOSMacOS - 使用 iCloud 为 iOS/MacOS 创建 Finder 同步扩展
【发布时间】:2020-04-02 11:22:41
【问题描述】:

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

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

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

现在我的问题是,是否有可能以我想的方式处理它:

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

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

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

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

【问题讨论】:

    标签: ios xcode macos findersync


    【解决方案1】:

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

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

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

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

    添加 Finder 扩展不会给你一个文件夹,更不用说同步了。

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

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

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

    【讨论】:

    • 非常感谢您的澄清。我现在明白了很多。所以,我认为它将用于默认文件夹,Finder Sync 并不安静。还有一个可能你知道,当我将文件本地存储在没有任何 Finder 同步的目录中时,我是否也能够将这些文件同步到 iOS。它不直接在CoreData中,只有引用存储在那里。
    • @davidev 我不确定 iCloud 存储是如何为应用程序工作的。这可能最适合提出新问题。
    • 好的..感谢您的帮助和时间!谢谢!
    猜你喜欢
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    相关资源
    最近更新 更多