Ошибка NSUbiquitousKeyValueStore: нет действительного права com.apple.developer.ubiquity-kvstore-identifier - PullRequest
11 голосов
/ 11 ноября 2011

У меня проблема с интеграцией iCloud с моим приложением.

Когда я устанавливаю тестовую доступность iCloud, я получаю Успех для функции

NSURL *iCloudURL = [fileManager URLForUbiquityContainerIdentifier:@"AppID"];

, но сразу после этого, когдаЯ пытаюсь выполнить:

NSUbiquitousKeyValueStore *iCloudStore = [NSUbiquitousKeyValueStore defaultStore];

Я получаю сообщение об ошибке

NSUbiquitousKeyValueStore error: no valid com.apple.developer.ubiquity-kvstore-identifier entitlement.

Есть идеи, как это исправить?Мой файл App.Entitlements использует префиксы макросов по умолчанию, ничего не изменилось из автоматически сгенерированного файла.iCloud определенно включен в AppID в iTunes Connect.

Спасибо.

Ответы [ 5 ]

16 голосов
/ 19 декабря 2011

У меня была такая же проблема, хотя весь мой код, настройки, права и т. Д. Были правильными. Я исправил это, физически удалив приложение с моего iPhone, затем встроив Xcode и запустив его на моем iPhone, и это сработало. Просто хотел добавить, что в случае, если другие решения не работают для кого-то еще.

5 голосов
/ 08 сентября 2012

Большое предупреждение: если ваше устройство взломано, убедитесь, что вы удалили AppSync. У меня было два безумных дня из-за этого. iCloud (и Game Center) не будут работать на устройстве с установленной AppSync даже с правильными правами и профилями!

3 голосов
/ 04 марта 2012

Я сделал следующее, чтобы заставить это работать для меня (Xcode 4.2.1):

  1. В Xcode, перейдите к своей цели> Summary> внизу, нажмите Enable Entitlements.
  2. На портале обеспечения iOS перейдите к идентификаторам приложений и включите поддержку iCloud.(Возможно, вам не придется этого делать, но у меня это сработало.)
  3. Отредактируйте свой профиль обеспечения, чтобы принудительно обновить его;затем загрузите этот профиль и откройте его, чтобы он автоматически запускался в Xcode.
  4. Очистите и создайте приложение на своем устройстве.
2 голосов
/ 06 сентября 2012

Я столкнулся с этой проблемой при попытке отладки приложения Mac (не iOS). Проблема оказалась в том, что я не подписывал отладочную сборку, и у меня не было фазы развертывания проекта с «Пропустить установку», установленной в «Да».

Очевидно, что iCloud не будет работать должным образом с неподписанным приложением.

1 голос
/ 30 ноября 2015

Добавьте com.apple.developer.ubiquity-kvstore-identifier в ваши Права со следующим значением:

$(TeamIdentifierPrefix)$(CFBundleIdentifier)
...