【问题标题】:iCloud unique identifieriCloud 唯一标识符
【发布时间】:2014-03-05 17:31:59
【问题描述】:

我正在尝试了解 iCloud。我读过有 ubiquityIdentityToken 用于确定 iCloud 是否可用或用户是否更改了登录帐户。此外,这仅在 ios 6+ 中可用

但我需要知道的是每个 iCloud 用户的唯一数据。我的意思是,在用户登录 iCloud 后,我们的开发人员有没有办法知道该人是谁/该帐户属于谁,例如用户名或 ID(类似于 Facebook 的 fbid/identiferForVendor)?我们甚至可以在代码中获取用户的 iCloud 帐户吗?

我想知道这一点的原因是因为我想检查是否可以使用用户的 iCloud 帐户(或我们可以从他们那里获得的任何唯一数据)作为用户在我们服务器上的唯一标识符。

我希望我能得到一些答案。非常感谢!

【问题讨论】:

    标签: ios icloud uniqueidentifier icloud-api


    【解决方案1】:

    你可以使用CKContainer.fetchUserRecordID(completionHandler:)

    返回与当前用户关联的用户记录 ID。

    https://developer.apple.com/documentation/cloudkit/ckcontainer/1399191-fetchuserrecordid

    本文展示了以这种方式检索的记录 ID 的实际使用示例:Onboarding without Signup Screens

    【讨论】:

      【解决方案2】:

      Apple 不希望您这样做。这就是为什么他们给你一个不透明的独特令牌。您不能将其用作服务器上的 id。 Apple 目前不允许以这种方式使用 iTunes 帐户。

      我建议您使用自己的帐户名称,或者使用 Facebook 或 Twitter 的帐户,这些帐户可通过 iOS 上的系统 API 访问。

      【讨论】:

      • 我不能同意。既然token可以被编码并存储为NSData,那么Apple到底在哪里禁止我们通过这个token来识别用户呢?
      • 并不是他们禁止它,而是它没有记录在每个设备上都是相同的(据我所知)。所以你可以试一试,但它可能不起作用,或者它随时可能坏掉。
      猜你喜欢
      • 1970-01-01
      • 2012-06-02
      • 2012-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多