Cloudkit 每个用户的记录类型不同?

Cloudkit different Record Type for every user?

这种情况不仅我可能想到了解决方案... 我的目标是通过 iCloud 但在不同用户(不同的 iCloud 帐户)之间同步我的应用程序。 "Normal" iCloud 同步只能在使用同一 iCloud 帐户的不同设备之间同步。所以我想 CloudKit 是否可以解决这个问题。我读了很多关于 CloudKit 的文章,但我不确定我是否理解正确...

所以你有一个私有数据库和一个 public 数据库。同样,私有数据库仅适用于同一个帐户。所以我需要去 public 数据库... 但是 - 我不希望每个人都能够同步相同的数据,但只能同步 "selected friends",其他 iCloud 帐户...

这可能吗?我将如何设计?

我的第一个想法是用户 A 创建一个具有唯一名称的记录类型。然后用户 B 可以输入该记录类型的唯一名称,通过这样做,他可以访问数据,用户 A 和用户 B 可以同步他们的应用程序,但其他用户被排除在外。 如果用户 C 和用户 D 想要一起使用该应用程序并保持同步,他们将创建自己的记录类型。

这样的设计合适吗?如果许多用户使用该应用程序,我会得到很多记录类型...

或者我应该为每个用户使用唯一的 NSPredicate 吗?

或者我还能如何让不同的用户与特定的其他用户同步他们的应用程序,而不是与应用程序的 public 数据库中的每个人同步??

感谢帮助!

在 CloudKit 中,无法在生产数据库中创建新的记录类型。

您应该通过向您的记录类型添加一个 CKReference 来解决这个问题,它指示记录的所有者。然后在你所有的谓词中你必须过滤那个 CKReference。