macOS 基于文档的应用程序会自动启用协作吗?

Do macOS Document-Based Apps Automatically Enable Collaboration?

我希望使用 Xcode 并针对 macOS High Sierra 在 macOS 上构建基于文档的应用程序。

NSDocument 是否提供类似于 Pages 的文档协作? Apple 的 Document Based Apps 页面表明协作是适当的基于文档的应用程序的一个功能,但我还没有看到这个问题的明确答案。

最后,我通过简单地观看 WWDC session 我还没有看过的内容找到了浏览 Apple 过时文档(看起来已经像一个被遗弃的孤儿)的方法。我可以指出您问题的答案,因为我也在看它。

答案是否定的,NSDocument 或 UIDocument 类 不像 Pages 或 Notes 那样提供协作机制。 NSDocument 共享方法所做的就是为您提供共享UI。但实现协作和 UI 对共享用户操作的反应是你的工作。

幸运的是,自从 macOS Sierra SDK 发布以来,这并不是一项极其艰巨的任务。我的意思是,这仍然不是小菜一碟,但自从 Sierra 和 iOS 10 以来,我们在 CloudKit 框架中有了 SKShare 类。这就是我们如何在我们的应用程序中提供协作。这就是 Apple 在其应用程序中实现它的方式。

只需观看 WWDC 2016 的 session 226,您就会了解协作实施背后的想法,甚至一些代码示例。这在这件事上非常有用session。