是否可以在 cocoa 上获得唯一的 iCloud 用户 ID?

Is it possible to obtain an unique iCloud user ID on cocoa?

我的 iOS 应用程序目前在 TestFlight 中处于测试阶段,为了感谢帮助我测试它的好人,我想为他们提供一些好东西,例如,完整的该应用程序的最终版本免费。

为此,我正在考虑向他们发送最后一个测试版,该版本会在执行时自动将登录用户的某种 ID 存储到我保持在线的 VIP 列表中,然后每个下一个版本该应用程序将检查他们的 ID,以验证用户是否是 VIP 用户并解锁所有高级功能。

是否可以在 Cocoa api 中获取与用户关联的唯一标识符(与设备唯一标识符相对)?我想要这个是因为我想在他安装的任何设备中识别用户。我想避免必须让我的 Beta 测试人员手动注册为 VIP。

谢谢!

是的,这可以使用 CloudKit。您将需要一个 CKContainer,并要求它获取用户记录 ID。该记录 ID 对于您的应用程序是唯一的,但对于该用户也是稳定的,这意味着同一个 iCloud 帐户将具有相同的记录 ID,无论他们 运行 在哪个设备上或他们在您的哪个应用程序上使用。

如果您为您的项目开启 CloudKit 功能,Xcode 会自动为您创建 iCloud 容器,然后您可以使用两个 CKContainer 之一访问它构造函数。