CloudKit Discovery discoverAllContactUserInfosWithCompletionHandler返回空

时间:2015-05-21 06:40:29

标签: ios objective-c swift icloud cloudkit

以下是目标:

  1. 用户A和用户B是该应用的用户。
  2. 他们使用登录到单独的iCloud帐户的单独设备。
  3. 两个用户都在应用中启用了可发现性。
  4. 启用后,用户A可以看到用户B正在使用该应用,反之亦然(假设他们的联系人书中都有彼此的iCloud电子邮件)。
  5. 目前,我已执行以下步骤,但discoverAllContactUserInfosWithCompletionHandler返回空。 我很难过。我'已经:

    1. 为CloudKit
    2. 配置了应用
    3. 我正在检查状态 accountStatusWithCompletionHandler。我收到了accountStatus == .Available
    4. 使用statusForApplicationPermission(CKApplicationPermissions.PermissionUserDiscoverability)检查发现权限。我收到了permissionStatus == .Granted
    5. 我现在使用discoverAllContactUserInfosWithCompletionHandler请求应用用户。在完成块中,我没有收到任何错误和一个空用户数组。我还尝试使用discoverUserInfoWithEmailAddress将我已注册的用户拉到单独的设备上。这将返回一个nil用户对象,但没有错误。
    6. 我不确定我在这里失踪了什么。任何建议/故障排除提示将非常感谢。

1 个答案:

答案 0 :(得分:0)

查看此答案 - CKDiscoverAllContactsOperation not fetching contacts

其他用户必须在您的iCloud帐户中启用您的应用的可发现性,并使用与您的通讯录中存储的电子邮件地址相同的电子邮件地址。