CKContainer
A CKContainer
объект инкапсулирует содержание, связанное с приложением, включая содержание, которое публично доступно для всех пользователей приложения и содержания, которое является частным определенному пользователю. Контейнерный объект управляет всеми явными и неявными попытками получить доступ к содержанию контейнера.
Каждое приложение имеет контейнерный объект по умолчанию, управляющий его собственным собственным содержанием. При разработке комплекта приложений можно также получить доступ к любым контейнерным объектам, для которых у Вас есть надлежащие права. Каждый новый контейнер различает общедоступные данные и данные, которые являются частными текущему пользователю. Частные данные хранятся во всегда сохраненный в надлежащем контейнерном каталоге в учетной записи iCloud пользователя.
Взаимодействие с контейнерным объектом
Контейнерный объект координирует все взаимодействия между Вашим приложением и сервером. Большинство этих взаимодействий включает следующие задачи:
Определение, сконфигурировал ли пользователь счет iCloud на устройство, сообщающее, можно ли записать данные в персональное хранение пользователя
Обнаружение других пользователей, которые известны текущему пользователю
Получение контейнера или одного из
CKDatabase
объекты так, чтобы можно было присвоить его явно объекту операции
Общедоступные и частные базы данных
Каждый контейнер содержит ссылки на общедоступную и частную базу данных для того, чтобы хранить данные. Содержание общедоступной базы данных доступно для всех пользователей приложения, тогда как содержание частной базы данных видимо только текущему пользователю по умолчанию. При разработке приложения рассмотрите, какая база данных является самой подходящей для данных. Содержание, настолько определенное для отдельного пользователя обычно, принадлежит частной базы данных того пользователя, тогда как связанное с приложением содержание, которое Вы обеспечиваете (или это пользователи хотят совместно использовать) принадлежит общедоступной базы данных.
Общедоступная база данных всегда доступна, независимо от того, имеет ли устройство активную учетную запись iCloud. Когда никакая учетная запись iCloud не доступна, Ваше приложение может выбрать записи и выполнить запросы на общедоступной базе данных, но это может не сохранить изменения. (Сохраняющие записи на общедоступную базу данных требуют, чтобы активная учетная запись iCloud идентифицировала владельца тех записей.) Доступ к частной базе данных всегда требует активной учетной записи iCloud на устройстве.
Каждый раз, когда возможно, разработайте свое приложение для выполнения корректно с или без активной учетной записи iCloud. Даже без активной учетной записи iCloud, приложения могут выбрать записи от общедоступной базы данных и вывести на экран ту информацию пользователю. Если Ваше приложение требует возможности записать в общедоступную базу данных или требует доступа к частной базе данных, уведомьте пользователя того, почему это имеет место, и призовите их включать iCloud. Можно даже обеспечить кнопку, берущую пользователя непосредственно к Настройкам так, чтобы они могли включить iCloud. Для реализации такой кнопки имейте действие кнопки, открывают URL, представленный UIApplicationOpenSettingsURLString
постоянный.
Пользовательские записи и конфиденциальность
Каждый пользователь, получающий доступ к контейнеру, сделал, чтобы соответствующий пользователь записал в том контейнере. По умолчанию пользовательские записи не содержат персональных данных идентификации о пользователе или их учетной записи iCloud. Пользовательские записи обеспечивают способ дифференцировать одного пользователя приложения от другого с помощью уникального идентификатора. Каждый пользователь получает их собственный уникальный идентификатор в контейнере. Поскольку существует запись, имеющая тот же идентификатор как идентификатор пользователя, можно использовать запись, чтобы хранить информацию о текущем пользователе. Всегда делайте так тщательно, тем не менее, и с пониманием, что любые данные, которые Вы добавляете к пользовательской записи, могут быть замечены другими пользователями приложения. Никогда не храните чувствительную персональную информацию в пользовательской записи.
Для реализования социальных опций в приложении возможно коррелировать пользовательскую запись с подлинным именем пользователя, но приложение должно получить разрешение от пользователя сделать так. Создание пользователя записать поддающийся обнаружению друзьям того пользователя включает вызов requestApplicationPermission:completionHandler:
метод и выяснение CKApplicationPermissionUserDiscoverability
разрешение. При вызове того метода CloudKit спрашивает пользователя от Вашего имени, должна ли пользовательская запись быть сделана поддающейся обнаружению. Если пользователь предоставляет запрос, друзья того пользователя могут обнаружить что истинные идентификационные данные пользователя при выполнении приложения. Для обнаружения друзей текущего пользователя Вы используете discoverAllContactUserInfosWithCompletionHandler:
метод или один из нескольких других методов для получения связанной пользовательской информации.
Тестирование кода Используя контейнер разработки
Во время выполнения CloudKit использует Ваше приложение com.apple.developer.icloud-container-environment
право, чтобы обнаружить, используете ли Вы a Development
или Production
версия Вашего профиля настройки. Когда право сконфигурировано для разработки, CloudKit конфигурирует приложение CKContainer
объекты говорить с сервером разработки. Среда разработки предназначается, чтобы быть безопасным местом для внесения изменений во время процесса разработки, не разрушая активных пользователей приложения. Можно добавить новые поля к записям программно, и можно удалить или изменить поля с помощью Инструментальной панели iCloud.
Прежде, чем поставить Ваше приложение, всегда тестируйте поведение своего приложения в продуктивной среде. Когда Ваше приложение пытается добавить типы записи или добавить новые поля к существующим типам записи, рабочий сервер генерирует ошибки. Тестирование в продуктивной среде помогает Вам найти и фиксировать места в своем коде, где Вы делаете те типы изменений. Можно использовать Инструментальную панель CloudKit, чтобы изменить типы записи в среде разработки и затем переместить те изменения в продуктивной среде.
Оператор импорта
Swift
import CloudKit
Objective C
@import CloudKit;
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает контейнерный объект по умолчанию для управления содержанием текущего приложения.
Объявление
Swift
class func defaultContainer() -> CKContainer!
Objective C
+ (CKContainer *)defaultContainer
Возвращаемое значение
Контейнерный объект связался с содержанием текущего приложения. Этот метод всегда возвращает допустимый контейнерный объект.
Обсуждение
Используйте этот метод для получения контейнера для собственного содержания приложения. Этот контейнер является тем, который Ваше приложение обычно использует, чтобы хранить его данные. Если Вы хотите контейнер для различного приложения, создаете и инициализируете тот контейнер с помощью
containerWithIdentifier:
метод.Во время разработки возвращенный контейнерный объект указывает на версию разработки контейнера Вашего приложения. При поставке приложения возвращенный объект указывает на живую продуктивную среду.
Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает контейнерный объект, связанный с указанным идентификатором.
Объявление
Swift
init!(identifier
containerIdentifier
: String!) -> CKContainerObjective C
+ (CKContainer *)containerWithIdentifier:(NSString *)
containerIdentifier
Параметры
containerIdentifier
Идентификатор пакета приложения, к контейнеру которого Вы хотите получить доступ. Идентификатор пакета должен быть в приложении
com.apple.developer.icloud-container-identifiers
право. Этот параметр не должен бытьnil
.Возвращаемое значение
Контейнерный объект для содержания определяемого приложения или
nil
если не может быть найден контейнер.Обсуждение
Указанный идентификатор должен соответствовать одному из контейнеров повсеместности, перечисленных в разделе возможностей iCloud Вашего проекта XCode. Включая идентификатор с возможностями Вашего приложения добавляет соответствующие права на Ваше приложение. Для доступа к контейнеру приложения по умолчанию используйте
defaultContainer
метод вместо этого.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
privateCloudDatabase privateCloudDatabase
СвойствоБаза данных, содержащая частные данные пользователя. (только для чтения)
Объявление
Swift
var privateCloudDatabase: CKDatabase! { get }
Objective C
@property(nonatomic, readonly) CKDatabase *privateCloudDatabase
Обсуждение
База данных в этом свойстве доступна, только если устройство имеет активную учетную запись iCloud. Доступ к базе данных ограничивается пользователем той учетной записи iCloud по умолчанию. Текущий пользователь владеет всем содержанием в частной базе данных и разрешен считать и записать то содержание. Данные в частной базе данных не видимы в портале разработчика или никаким другим пользователям.
Данные, хранившие в частной базе данных, говорят против квоты хранилища учетной записи iCloud текущего пользователя.
Если нет никакой активной учетной записи iCloud на устройстве пользователя, это свойство все еще возвращает допустимый объект базы данных, но пытается использовать тот объект, возвратит ошибки. Чтобы определить, существует ли активная учетная запись iCloud на устройстве, используйте
accountStatusWithCompletion:
метод.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
publicCloudDatabase publicCloudDatabase
СвойствоБаза данных, содержащая данные, совместно используется всеми пользователями. (только для чтения)
Объявление
Swift
var publicCloudDatabase: CKDatabase! { get }
Objective C
@property(nonatomic, readonly) CKDatabase *publicCloudDatabase
Обсуждение
База данных в этом свойстве доступна независимо от того, имеет ли устройство пользователя активную учетную запись iCloud. Содержание общедоступной базы данных читаемо всеми пользователями приложения, и у пользователей есть доступ для записи к записям (и другие объекты данных), они создают. Данные в общедоступной базе данных также видимы в портале разработчика, где можно присвоить роли пользователям и ограничить доступ по мере необходимости.
Данные, хранившие в общедоступной базе данных, говорят против квоты хранилища iCloud Вашего приложения а не против квоты любого отдельного пользователя.
Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
containerIdentifier containerIdentifier
СвойствоСтрока, идентифицирующая контейнер приложения. (только для чтения)
Объявление
Swift
var containerIdentifier: String! { get }
Objective C
@property(nonatomic, readonly) NSString *containerIdentifier
Обсуждение
Используйте значение в этом свойстве для различения различные контейнерные объекты в приложении.
Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
Отчеты, можно ли к учетной записи iCloud текущего пользователя получить доступ.
Объявление
Swift
func accountStatusWithCompletionHandler(_
completionHandler
: ((CKAccountStatus, NSError!) -> Void)!)Objective C
- (void)accountStatusWithCompletionHandler:(void (^)(CKAccountStatus accountStatus, NSError *error))
completionHandler
Параметры
completionHandler
Блок, не имеющий никакого возвращаемого значения и берущий следующие параметры:
accountStatus
Состояние учетной записи iCloud текущего пользователя.
error
Ошибочный объект или
nil
если состояние определяется успешно. Используйте информацию в ошибочном объекте определить, имеет ли проблема обходное решение.Обсуждение
Этот метод решает, что состояние iCloud текущего пользователя считает асинхронно, сообщая о результатах блоку в
completionHandler
параметр. Вызовите этот метод прежде, чем получить доступ к частной базе данных, чтобы определить, доступна ли та база данных. В то время как Ваше приложение работает, используйтеNSUbiquityIdentityDidChangeNotification
уведомление, чтобы обнаружить учетную запись изменяется и вызвать этот метод снова для получения состояния для новой учетной записи.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
requestApplicationPermission (_: completionHandler:) - requestApplicationPermission:completionHandler:
Запрашивает указанное разрешение от пользователя асинхронно.
Объявление
Swift
func requestApplicationPermission(_
applicationPermission
: CKApplicationPermissions, completionHandlercompletionHandler
: CKApplicationPermissionBlock!)Objective C
- (void)requestApplicationPermission:(CKApplicationPermissions)
applicationPermission
completionHandler:(CKApplicationPermissionBlock)completionHandler
Параметры
applicationPermission
Требуемое разрешение. Это разрешение применяется к текущему контейнеру только. Для списка возможных значений посмотрите
CKApplicationPermissions
.completionHandler
Блок для выполнения с результатами. Ваш блок должен быть способен к выполнению на любом потоке приложения.
Обсуждение
В первый раз, когда Вы запрашиваете разрешение на любом из устройств пользователя, пользователю предлагают предоставить или отклонить запрос. Как только пользователь предоставляет или отклоняет разрешение, последующие запросы на то же разрешение (на тех же или отдельных устройствах) не предлагают пользователю снова.
Этот метод работает асинхронно и поставляет результаты к блоку, который Вы обеспечиваете.
Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
statusForApplicationPermission (_: completionHandler:) - statusForApplicationPermission:completionHandler:
Проверяет состояние указанного разрешения асинхронно.
Объявление
Swift
func statusForApplicationPermission(_
applicationPermission
: CKApplicationPermissions, completionHandlercompletionHandler
: CKApplicationPermissionBlock!)Objective C
- (void)statusForApplicationPermission:(CKApplicationPermissions)
applicationPermission
completionHandler:(CKApplicationPermissionBlock)completionHandler
Параметры
applicationPermission
Разрешение, состояние которого Вы хотите проверить. Для списка возможных значений посмотрите
CKApplicationPermissions
.completionHandler
Блок для выполнения с результатами. Ваш блок должен быть способен к выполнению на любом потоке приложения.
Обсуждение
Используйте этот метод для определения дополнительных возможностей, предоставленных приложению пользователя. Если Ваше приложение еще не запросило, чтобы определенное разрешение, вызывая этот метод могло привести к значению
CKApplicationPermissionStatusInitialState
для разрешения. Когда то значение будет возвращено, вызовитеrequestApplicationPermission:completion:
метод для запроса разрешения от пользователя.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
Ставит работу в очередь для выполнения в текущем контейнере.
Объявление
Swift
func addOperation(_
operation
: CKOperation!)Objective C
- (void)addOperation:(CKOperation *)
operation
Параметры
operation
Объект операции для постановки в очередь. Удостоверьтесь объект операции, который Вы обеспечиваете, полностью сконфигурирован и готов ставиться в очередь. Не изменяйте настройки этого объекта после вызова этого метода.
Обсуждение
Этот метод добавляет объект операции к очереди работы, которой управляет сам контейнер. Объекты операции в очереди контейнера выполняются одновременно с приоритетами по умолчанию в фоновых потоках.
Этот метод изменяет контейнер объекта операции (если таковые имеются) к текущему контейнеру.
Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
discoverAllContactUserInfosWithCompletionHandler (_:) - discoverAllContactUserInfosWithCompletionHandler:
Получает информацию обо всех поддающихся обнаружению пользователях, которые известны текущему пользователю.
Объявление
Swift
func discoverAllContactUserInfosWithCompletionHandler(_
completionHandler
: (([AnyObject]!, NSError!) -> Void)!)Параметры
completionHandler
Блок для выполнения с результатами. Ваш блок должен быть способен к выполнению на любом потоке приложения. Этот блок не возвращает значения и берет следующие параметры:
userInfos
Массив
CKDiscoveredUserInfo
объекты. Каждый объект в массиве содержит информацию о пользователе, включая ID соответствующей пользовательской записи. Если никакие пользователи не обнаружены, предоставленный массив пуст.error
Ошибочный объект, если проблема происходит, или
nil
если IDs получен успешно.Обсуждение
Используйте этот метод для получения информации о других пользователях приложения. Этот метод возвращает информацию о тех пользователях, удовлетворяющих следующие критерии:
Существует контактная информация для пользователя в адресной книге текущего пользователя.
Пользователь выполнил приложение.
Пользователь предоставил
CKApplicationPermissionUserDiscoverability
разрешение к Вашему приложению для этого контейнера.
Этот метод ищет пользователей асинхронно и с низким приоритетом. Если Вы хотите задачу выполниться с более высоким приоритетом, создайте a
CKDiscoverAllContactsOperation
возразите и сконфигурируйте желаемый приоритет.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
discoverUserInfoWithEmailAddress (_: completionHandler:) - discoverUserInfoWithEmailAddress:completionHandler:
Получает информацию об отдельном пользователе на основе адреса электронной почты того пользователя.
Объявление
Swift
func discoverUserInfoWithEmailAddress(_
email
: String!, completionHandlercompletionHandler
: ((CKDiscoveredUserInfo!, NSError!) -> Void)!)Objective C
- (void)discoverUserInfoWithEmailAddress:(NSString *)
email
completionHandler:(void (^)(CKDiscoveredUserInfo *userInfo, NSError *error))completionHandler
Параметры
email
Адрес электронной почты iCloud пользователя Вы хотите расположиться.
completionHandler
Блок для выполнения с результатами. Ваш блок должен быть способен к выполнению на любом потоке приложения. Этот блок не возвращает значения и берет следующие параметры:
userInfo
Объект, содержащий информацию о пользователе или
nil
если не найден пользователь.error
Ошибочный объект, если проблема происходит или
nil
если ID получен успешно.Обсуждение
Используйте этот метод для получения ID пользователя, который известен текущему пользователю. Пользователь, которого Вы ищете, должен удовлетворить следующие критерии:
Пользователь должен быть в адресной книге текущего пользователя.
Пользователь, должно быть, выполнил приложение.
Пользователь, должно быть, предоставил
CKApplicationPermissionUserDiscoverability
разрешение для этого контейнера.
Этот метод ищет пользователя асинхронно и с низким приоритетом. Если Вы хотите задачу выполниться с более высоким приоритетом, создайте a
CKDiscoverUserInfosOperation
возразите и сконфигурируйте желаемый приоритет.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
discoverUserInfoWithUserRecordID (_: completionHandler:) - discoverUserInfoWithUserRecordID:completionHandler:
Получает информацию об отдельном пользователе на основе ID соответствующей пользовательской записи.
Объявление
Swift
func discoverUserInfoWithUserRecordID(_
userRecordID
: CKRecordID!, completionHandlercompletionHandler
: ((CKDiscoveredUserInfo!, NSError!) -> Void)!)Objective C
- (void)discoverUserInfoWithUserRecordID:(CKRecordID *)
userRecordID
completionHandler:(void (^)(CKDiscoveredUserInfo *userInfo, NSError *error))completionHandler
Параметры
userRecordID
ID пользовательской записи.
completionHandler
Блок для выполнения с результатами. Ваш блок должен быть способен к выполнению на любом потоке приложения. Этот блок не возвращает значения и берет следующие параметры:
userInfo
Объект, содержащий информацию о пользователе или
nil
если не найден пользователь.error
Ошибочный объект, если проблема происходит или
nil
если ID получен успешно.Обсуждение
Используйте этот метод для получения информации о пользователе, для которого Вы уже сделали, чтобы пользователь записал ID. Пользователь, которого Вы ищете, должен удовлетворить следующие критерии:
Пользователь, должно быть, выполнил приложение.
Пользователь, должно быть, предоставил
CKApplicationPermissionUserDiscoverability
разрешение для этого контейнера.
Этот метод ищет пользователя асинхронно и с низким приоритетом. Если Вы хотите задачу выполниться с более высоким приоритетом, создайте a
CKDiscoverUserInfosOperation
возразите и сконфигурируйте желаемый приоритет.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает пользовательскую запись, связанную с текущим пользователем.
Объявление
Swift
func fetchUserRecordIDWithCompletionHandler(_
completionHandler
: ((CKRecordID!, NSError!) -> Void)!)Objective C
- (void)fetchUserRecordIDWithCompletionHandler:(void (^)(CKRecordID *recordID, NSError *error))
completionHandler
Параметры
completionHandler
Блок для выполнения с результатами. Ваш блок должен быть способен к выполнению на любом потоке приложения. Этот блок не возвращает значения и берет следующие параметры:
recordID
ID пользователя записывает для текущего пользователя или
nil
если текущее устройство не сконфигурировано с учетной записью iCloud.error
Ошибочный объект, если проблема происходит или
nil
если запись получена успешно.Обсуждение
В то время как CloudKit выполняет начальный запрос учетной записи iCloud, во время запуска, выбирая пользовательскую запись может занять больше времени. После начальной выборки, получая доступ к пользовательской записи должен занять меньше времени. Если никакая учетная запись iCloud не связана с устройством, или если доступ к учетной записи iCloud пользователя ограничивается, этот метод возвращает ошибку типа
CKErrorNotAuthenticated
.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
Типы данных
-
Блок для обработки запросов разрешения.
Объявление
Swift
typealias CKApplicationPermissionBlock = (CKApplicationPermissionStatus, NSError!) -> Void
Objective C
typedef void(^CKApplicationPermissionBlock)(CKApplicationPermissionStatus applicationPermissionStatus, NSError *error);
Обсуждение
При запросе или получении состояния разрешения, используйте этот блок для обработки результатов того запроса. Этот блок не имеет никакого возвращаемого значения и берет следующие параметры:
applicationPermissionStatus
Состояние разрешения. Для списка возможных значений посмотрите
CKApplicationPermissionStatus
.error
Ошибочный объект, если проблема происходит или
nil
если состояние определяется успешно.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
Постоянное указание владельца данных в частной базе данных.
Константы
-
Константы, указывающие доступность учетной записи iCloud пользователя.
Объявление
Swift
enum CKAccountStatus : Int { case CouldNotDetermine case Available case Restricted case NoAccount }
Objective C
typedef enum : NSInteger { CKAccountStatusCouldNotDetermine = 0, CKAccountStatusAvailable = 1, CKAccountStatusRestricted = 2, CKAccountStatusNoAccount = 3, } CKAccountStatus;
Константы
-
CouldNotDetermine
CKAccountStatusCouldNotDetermine
Ошибка произошла во время попытки получить состояние учетной записи. Консультируйтесь с предоставленным
NSError
объект для получения дополнительной информации.Доступный в OS X v10.10 и позже.
-
Available
CKAccountStatusAvailable
Учетная запись iCloud пользователя доступна и может использоваться этим приложением.
Доступный в OS X v10.10 и позже.
-
Restricted
CKAccountStatusRestricted
Учетная запись iCloud пользователя не доступна. Доступ был запрещен вследствие ограничений Управления мобильными устройствами или Родительского контроля.
Доступный в OS X v10.10 и позже.
-
NoAccount
CKAccountStatusNoAccount
Учетная запись iCloud пользователя не доступна, потому что никакие сведения об аккаунте не были предоставлены для этого устройства.
Доступный в OS X v10.10 и позже.
Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
-
Константы, указывающие разрешения, данные к приложению пользователя.
Объявление
Swift
struct CKApplicationPermissions : RawOptionSetType { init(_
rawValue
: UInt) init(rawValuerawValue
: UInt) static var PermissionUserDiscoverability: CKApplicationPermissions { get } }Objective C
typedef enum : NSInteger { CKApplicationPermissionUserDiscoverability = 1 << 0, } CKApplicationPermissions;
Константы
-
PermissionUserDiscoverability
CKApplicationPermissionUserDiscoverability
Текущий пользователь является поддающимся обнаружению (через адрес электронной почты пользователя) другим пользователям приложения.
Доступный в OS X v10.10 и позже.
Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
-
Константы, указывающие, было ли приложение дано определенное разрешение.
Объявление
Swift
enum CKApplicationPermissionStatus : Int { case InitialState case CouldNotComplete case Denied case Granted }
Objective C
typedef enum : NSInteger { CKApplicationPermissionStatusInitialState = 0, CKApplicationPermissionStatusCouldNotComplete = 1, CKApplicationPermissionStatusDenied = 2, CKApplicationPermissionStatusGranted = 3, } CKApplicationPermissionStatus;
Константы
-
InitialState
CKApplicationPermissionStatusInitialState
Пользователь еще не решил, дать ли это разрешение. Используйте
requestApplicationPermission:completion:
метод, чтобы попросить, чтобы пользователь дал разрешение.Доступный в OS X v10.10 и позже.
-
CouldNotComplete
CKApplicationPermissionStatusCouldNotComplete
Ошибка произошла во время получения или установки разрешения приложения. Консультируйтесь с предоставленным
NSError
объект для получения дополнительной информации.Доступный в OS X v10.10 и позже.
-
Denied
CKApplicationPermissionStatusDenied
Пользователь запретил доступа к разрешению.
Доступный в OS X v10.10 и позже.
-
Granted
CKApplicationPermissionStatusGranted
Пользователь предоставил доступ к разрешению.
Доступный в OS X v10.10 и позже.
Обсуждение
Об этих константах сообщают
statusForApplicationPermission:completion:
иrequestApplicationPermission:completion:
методы. Для списка полномочий приложение может запросить, видетьCKApplicationPermissions
.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-