Обнаружение CloudKit DiscoverAllContactUserInfosWithCompletionHandler возвращает пустое значение

Вот цель:

  1. Пользователь A и пользователь B являются пользователями приложения.
  2. Они используют разные устройства, зарегистрированные в разных учетных записях iCloud.
  3. Оба пользователя включают возможность обнаружения в приложении.
  4. После включения пользователь А может видеть, что пользователь Б использует приложение, и наоборот (при условии, что у обоих есть электронные письма iCloud друг друга в их контактных книгах).

В настоящее время я выполнил следующие шаги, но discoverAllContactUserInfosWithCompletionHandler возвращает пустое значение. Я в тупике. у меня есть:

  1. Настроил приложение для CloudKit
  2. Проверяю статус с accountStatusWithCompletionHandler. Я получаю accountStatus == .Available
  3. Проверьте разрешение на обнаружение с помощью statusForApplicationPermission(CKApplicationPermissions.PermissionUserDiscoverability). Я получаю permissionStatus == .Granted
  4. Теперь я запрашиваю пользователей приложения, используя discoverAllContactUserInfosWithCompletionHandler. В блоке завершения я не получаю ошибок и пустой массив пользователей. Я также пытался использовать discoverUserInfoWithEmailAddress, чтобы вытащить пользователя, с которым я зарегистрировался, на отдельном устройстве. Это возвращает нулевой пользовательский объект, но без ошибки.

Я не уверен, что мне здесь не хватает. Любые советы / советы по устранению неполадок будут высоко оценены.


person Four    schedule 21.05.2015    source источник
comment
возможный дубликат CKDiscoverAllContactsOperation не получает контакты   -  person Yariv Nissim    schedule 06.06.2015


Ответы (1)


Проверьте этот ответ - CKDiscoverAllContactsOperation не получает контакты

Другие пользователи должны включить возможность обнаружения в своей учетной записи iCloud с вашим приложением И использовать тот же адрес электронной почты, который хранится в ваших контактах.

person Yariv Nissim    schedule 06.06.2015