2015-08-04 3 views
7

Я тестирую код, который запрашивает понятности через CloudKit:Сброс CloudKit Discoverability Разрешение

CKContainer.defaultContainer().requestApplicationPermission(CKApplicationPermissions.PermissionUserDiscoverability, completionHandler: { (status:CKApplicationPermissionStatus, error:NSError!) -> Void in 
     if status == CKApplicationPermissionStatus.Granted { 
      ... 
     } else if status == CKApplicationPermissionStatus.Denied { 
      .... 
     } else { 
      println("Request result: \(status)") 
     } 
    }) 

Но как сбросить результат этого? Меня спрашивают один раз и никогда больше, даже если я удалю и переустановить приложение. Если я снова запустил этот код, я сразу же попал в блок завершения с тем же результатом, что и в последний раз.

Я видел another question и post on Apple's old forums (требуется логин), который сказал, что его можно сбросить, выбрав Настройки -> iCloud -> iCloud Drive -> Look Me Up By Email. Однако делать это не дает мне любой вариант, чтобы сделать что-нибудь:

Look Me Up By Email screen

Я уверен, что смогу сбросить его что-то вроде Настройки -> Общие -> Сброс -> Сброс всех настроек (или, возможно, сбросить настройки сети) [но см. дополнительную информацию об этом], но должен быть какой-то способ сбросить разрешение CloudKit, не нажимая кучу несвязанных настроек. Что делать, если пользователь отказывает в разрешении, но позже меняет свое мнение?

Обновление: Некоторые дополнительная информация:

  • На тренажере, Настройки -> Общие -> Rest -> Сброс Местоположение & конфиденциальности не имеет никакого эффекта.
  • Также на симуляторе «Сброс содержимого и настроек ...» не влияет.
  • Попытка использования другого Mac с другим устройством дает точно такие же результаты.

Приведенное выше приводит меня к подозрению, что это настройка на стороне сервера. Поэтому я попытался войти в iCloud.com с учетной записью, которую я использую, и пошел в Настройки -> Данные & Безопасность -> Посмотрите меня по электронной почте. Как и на IOS устройств и тренажеров, там нет возможности там делать что-либо вообще:

Look Me Up By Email at iCloud.com

Итак, есть каким-либо образом на всех сбросить это или не она фиксируется в камне и неизменна, пока солнце расширяется и разрушает Землю?

ответ

3

Настройки «Look Me Up By Email» в настоящее время показывают только ваши предпочтения в производственной среде. Если ваше приложение запущено в среде разработки, нет возможности сбросить эти настройки на данный момент. Вы правы, что этот параметр хранится на сервере.

Это известная ошибка. Пока он не будет исправлен, работа вокруг - проверить эту функцию, пока ваше приложение развернуто для производства. Вы можете создать второй контейнер, который будет использоваться для тестирования, если вы хотите избежать тестирования в производственном контейнере вашего приложения доставки.

0

Единственный способ я нашел это переустановку среда разработки от CloudKit приборной панели, приложение будет спрашивать разрешения снова, это удалит все ваши данные, хотя

3

Перед солнце расширяется и разрушает землю, этот параметр может быть сброшен следующим образом :

  • войти в свой CloudKit Dashboard
  • выбрать контейнер вашего приложения
  • выберите Development среды
  • нажмите на вкладку Deployment слева, под Admin
  • нажмите на кнопку Reset Development Environment в правом верхнем углу.

(Эти инструкции работают только для Development окружающей среды).

+1

Это сделал трюк для меня, спасибо! –