使用 100% CloudKit 和 SwiftUI 在应用程序中设置社交组件的流程?

Flow for setting up a social component in an app using 100% CloudKit and SwiftUI?

我有一个应用程序已经使用 CloudKit 在 iPhone 和 Apple Watch 应用程序之间传递信息。我想添加让用户与其他用户共享他们保存在 iCloud 中的数据的功能。到目前为止,我还没有找到任何好的资源。我的理解是 Apple recommends setting up the share logic using UICloudSharingController, but this would need to be wrapped in a UIHostingController for SwiftUI. I found 但发布的代码使用了一些自定义属性,例如 ObjectToShare 我无法理解它们是如何设置的。我必须使用 UICloudSharingController 吗?我可以只让一个用户获得自己的 shareURL 并将其发送给另一个用户吗?如果是这样,用户 1 将如何获得自己的 shareURL?

您不必使用 UICloudSharingController,不。您可以手动设置自己的 CKShare 对象。它有一个 url 属性,用户需要单击它才能访问您正在共享的 CKRecord。因此,您可以以自定义方式显示 url 或随心所欲地传递它。

CKShare 文档显示了所有可用的属性: https://developer.apple.com/documentation/cloudkit/ckshare

这篇文章有点老了,但是帮助我看到了搭建一个CKShare的整体过程:https://kwylez.medium.com/cloudkit-sharing-series-creating-the-ckshare-40e420b94ee8