【问题标题】:Do macOS Document-Based Apps Automatically Enable Collaboration?macOS 基于文档的应用程序会自动启用协作吗?
【发布时间】:2018-06-27 00:06:09
【问题描述】:

我希望使用 Xcode 在 macOS 上构建一个基于文档的应用程序,并以 macOS High Sierra 为目标。

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

【问题讨论】:

  • 你找到答案了吗?
  • @VitaliyVashchenko 我还没有找到答案。
  • 我现在正在处理这个任务。我知道这一点:您必须为您的 NSDocument 子类启用 iCloud。当我这样做时,我在 macOS High Sierra 自动共享菜单中选择“添加人员”项目时不再崩溃。我会继续努力,但请尝试观看 WWDC 2017 的“Cocoa 中的新功能”会议。那里关于此主题的信息很少。但至少它是一些东西。

标签: swift macos nsdocument document-based


【解决方案1】:

最后,我通过观看我尚未观看的 WWDC 会议,找到了通过 Apple 过时文档(看起来已经像一个被遗弃的孤儿)的方法。我可以指出你的问题的答案,因为我也在寻找它。

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

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

只需观看 WWDC 2016 的第 226 场会议,您就会了解协作实施背后的想法,甚至是一些代码示例。这是一个关于这个问题的非常有用的会议。

【讨论】:

  • 当我知道很明显,我不得不谷歌搜索类似“CloudKit 共享”的东西,而不是“NSDocument 协作”。还有大量的例子和讨论。
猜你喜欢
  • 1970-01-01
  • 2020-10-25
  • 1970-01-01
  • 2018-07-25
  • 2020-10-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-24
  • 1970-01-01
相关资源
最近更新 更多