Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы CloudKit ссылка класса CKContainer

Опции
Развертывание Target:

На этой странице
Язык:

CKContainer

Наследование


Соответствует


Оператор импорта


Swift

import CloudKit

Objective C

@import CloudKit;

Доступность


Доступный в iOS 8.0 и позже.

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

    class func defaultContainer() -> CKContainer!

    Objective C

    + (CKContainer *)defaultContainer

    Возвращаемое значение

    Контейнерный объект связался с содержанием текущего приложения. Этот метод всегда возвращает допустимый контейнерный объект.

    Обсуждение

    Используйте этот метод для получения контейнера для собственного содержания приложения. Этот контейнер является тем, который Ваше приложение обычно использует, чтобы хранить его данные. Если Вы хотите контейнер для различного приложения, создаете и инициализируете тот контейнер с помощью containerWithIdentifier: метод.

    Во время разработки возвращенный контейнерный объект указывает на версию разработки контейнера Вашего приложения. При поставке приложения возвращенный объект указывает на живую продуктивную среду.

    Оператор импорта

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Возвращает контейнерный объект, связанный с указанным идентификатором.

    Объявление

    Swift

    init!(identifier containerIdentifier: String!) -> CKContainer

    Objective C

    + (CKContainer *)containerWithIdentifier:(NSString *)containerIdentifier

    Параметры

    containerIdentifier

    Идентификатор пакета приложения, к контейнеру которого Вы хотите получить доступ. Идентификатор пакета должен быть в приложении com.apple.developer.icloud-container-identifiers право. Этот параметр не должен быть nil.

    Возвращаемое значение

    Контейнерный объект для содержания определяемого приложения или nil если не может быть найден контейнер.

    Обсуждение

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

    Оператор импорта

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • 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

    Доступность

    Доступный в iOS 8.0 и позже.

  • publicCloudDatabase Свойство

    База данных, содержащая данные, совместно используется всеми пользователями. (только для чтения)

    Объявление

    Swift

    var publicCloudDatabase: CKDatabase! { get }

    Objective C

    @property(nonatomic, readonly) CKDatabase *publicCloudDatabase

    Обсуждение

    База данных в этом свойстве доступна независимо от того, имеет ли устройство пользователя активную учетную запись iCloud. Содержание общедоступной базы данных читаемо всеми пользователями приложения, и у пользователей есть доступ для записи к записям (и другие объекты данных), они создают. Данные в общедоступной базе данных также видимы в портале разработчика, где можно присвоить роли пользователям и ограничить доступ по мере необходимости.

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

    Оператор импорта

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • containerIdentifier Свойство

    Строка, идентифицирующая контейнер приложения. (только для чтения)

    Объявление

    Swift

    var containerIdentifier: String! { get }

    Objective C

    @property(nonatomic, readonly) NSString *containerIdentifier

    Обсуждение

    Используйте значение в этом свойстве для различения различные контейнерные объекты в приложении.

    Оператор импорта

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Отчеты, можно ли к учетной записи 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

    Доступность

    Доступный в iOS 8.0 и позже.

  • Запрашивает указанное разрешение от пользователя асинхронно.

    Объявление

    Swift

    func requestApplicationPermission(_ applicationPermission: CKApplicationPermissions, completionHandler completionHandler: CKApplicationPermissionBlock!)

    Objective C

    - (void)requestApplicationPermission:(CKApplicationPermissions)applicationPermission completionHandler:(CKApplicationPermissionBlock)completionHandler

    Параметры

    applicationPermission

    Требуемое разрешение. Это разрешение применяется к текущему контейнеру только. Для списка возможных значений посмотрите CKApplicationPermissions.

    completionHandler

    Блок для выполнения с результатами. Ваш блок должен быть способен к выполнению на любом потоке приложения.

    Обсуждение

    В первый раз, когда Вы запрашиваете разрешение на любом из устройств пользователя, пользователю предлагают предоставить или отклонить запрос. Как только пользователь предоставляет или отклоняет разрешение, последующие запросы на то же разрешение (на тех же или отдельных устройствах) не предлагают пользователю снова.

    Этот метод работает асинхронно и поставляет результаты к блоку, который Вы обеспечиваете.

    Оператор импорта

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Проверяет состояние указанного разрешения асинхронно.

    Объявление

    Swift

    func statusForApplicationPermission(_ applicationPermission: CKApplicationPermissions, completionHandler completionHandler: CKApplicationPermissionBlock!)

    Objective C

    - (void)statusForApplicationPermission:(CKApplicationPermissions)applicationPermission completionHandler:(CKApplicationPermissionBlock)completionHandler

    Параметры

    applicationPermission

    Разрешение, состояние которого Вы хотите проверить. Для списка возможных значений посмотрите CKApplicationPermissions.

    completionHandler

    Блок для выполнения с результатами. Ваш блок должен быть способен к выполнению на любом потоке приложения.

    Обсуждение

    Используйте этот метод для определения дополнительных возможностей, предоставленных приложению пользователя. Если Ваше приложение еще не запросило, чтобы определенное разрешение, вызывая этот метод могло привести к значению CKApplicationPermissionStatusInitialState для разрешения. Когда то значение будет возвращено, вызовите requestApplicationPermission:completion: метод для запроса разрешения от пользователя.

    Оператор импорта

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Ставит работу в очередь для выполнения в текущем контейнере.

    Объявление

    Swift

    func addOperation(_ operation: CKOperation!)

    Objective C

    - (void)addOperation:(CKOperation *)operation

    Параметры

    operation

    Объект операции для постановки в очередь. Удостоверьтесь объект операции, который Вы обеспечиваете, полностью сконфигурирован и готов ставиться в очередь. Не изменяйте настройки этого объекта после вызова этого метода.

    Обсуждение

    Этот метод добавляет объект операции к очереди работы, которой управляет сам контейнер. Объекты операции в очереди контейнера выполняются одновременно с приоритетами по умолчанию в фоновых потоках.

    Этот метод изменяет контейнер объекта операции (если таковые имеются) к текущему контейнеру.

    Оператор импорта

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Получает информацию обо всех поддающихся обнаружению пользователях, которые известны текущему пользователю.

    Объявление

    Swift

    func discoverAllContactUserInfosWithCompletionHandler(_ completionHandler: (([AnyObject]!, NSError!) -> Void)!)

    Objective C

    - (void)discoverAllContactUserInfosWithCompletionHandler:(void (^)(NSArray *userInfos, NSError *error))completionHandler

    Параметры

    completionHandler

    Блок для выполнения с результатами. Ваш блок должен быть способен к выполнению на любом потоке приложения. Этот блок не возвращает значения и берет следующие параметры:

    userInfos

    Массив CKDiscoveredUserInfo объекты. Каждый объект в массиве содержит информацию о пользователе, включая ID соответствующей пользовательской записи. Если никакие пользователи не обнаружены, предоставленный массив пуст.

    error

    Ошибочный объект, если проблема происходит, или nil если IDs получен успешно.

    Обсуждение

    Используйте этот метод для получения информации о других пользователях приложения. Этот метод возвращает информацию о тех пользователях, удовлетворяющих следующие критерии:

    • Существует контактная информация для пользователя в адресной книге текущего пользователя.

    • Пользователь выполнил приложение.

    • Пользователь предоставил CKApplicationPermissionUserDiscoverability разрешение к Вашему приложению для этого контейнера.

    Этот метод ищет пользователей асинхронно и с низким приоритетом. Если Вы хотите задачу выполниться с более высоким приоритетом, создайте a CKDiscoverAllContactsOperation возразите и сконфигурируйте желаемый приоритет.

    Оператор импорта

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Получает информацию об отдельном пользователе на основе адреса электронной почты того пользователя.

    Объявление

    Swift

    func discoverUserInfoWithEmailAddress(_ email: String!, completionHandler completionHandler: ((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

    Доступность

    Доступный в iOS 8.0 и позже.

  • Получает информацию об отдельном пользователе на основе ID соответствующей пользовательской записи.

    Объявление

    Swift

    func discoverUserInfoWithUserRecordID(_ userRecordID: CKRecordID!, completionHandler completionHandler: ((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

    Доступность

    Доступный в iOS 8.0 и позже.

  • Возвращает пользовательскую запись, связанную с текущим пользователем.

    Объявление

    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

    Доступность

    Доступный в iOS 8.0 и позже.

Типы данных

  • Блок для обработки запросов разрешения.

    Объявление

    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

    Доступность

    Доступный в iOS 8.0 и позже.

  • Постоянное указание владельца данных в частной базе данных.

    Объявление

    Swift

    let CKOwnerDefaultName: String

    Objective C

    NSString * const CKOwnerDefaultName;

    Константы

    • CKOwnerDefaultName

      Идентификатор пользователя, представляющий текущего пользователя. Используйте это значение при создании зоны IDs.

      Доступный в iOS 8.0 и позже.

  • Константы, указывающие доступность учетной записи 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 объект для получения дополнительной информации.

      Доступный в iOS 8.0 и позже.

    • Available

      CKAccountStatusAvailable

      Учетная запись iCloud пользователя доступна и может использоваться этим приложением.

      Доступный в iOS 8.0 и позже.

    • Restricted

      CKAccountStatusRestricted

      Учетная запись iCloud пользователя не доступна. Доступ был запрещен вследствие ограничений Управления мобильными устройствами или Родительского контроля.

      Доступный в iOS 8.0 и позже.

    • NoAccount

      CKAccountStatusNoAccount

      Учетная запись iCloud пользователя не доступна, потому что никакие сведения об аккаунте не были предоставлены для этого устройства.

      Доступный в iOS 8.0 и позже.

    Оператор импорта

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Константы, указывающие разрешения, данные к приложению пользователя.

    Объявление

    Swift

    struct CKApplicationPermissions : RawOptionSetType { init(_ rawValue: UInt) init(rawValue rawValue: UInt) static var PermissionUserDiscoverability: CKApplicationPermissions { get } }

    Objective C

    typedef enum : NSInteger { CKApplicationPermissionUserDiscoverability = 1 << 0, } CKApplicationPermissions;

    Константы

    • PermissionUserDiscoverability

      CKApplicationPermissionUserDiscoverability

      Текущий пользователь является поддающимся обнаружению (через адрес электронной почты пользователя) другим пользователям приложения.

      Доступный в iOS 8.0 и позже.

    Оператор импорта

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Константы, указывающие, было ли приложение дано определенное разрешение.

    Объявление

    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: метод, чтобы попросить, чтобы пользователь дал разрешение.

      Доступный в iOS 8.0 и позже.

    • CouldNotComplete

      CKApplicationPermissionStatusCouldNotComplete

      Ошибка произошла во время получения или установки разрешения приложения. Консультируйтесь с предоставленным NSError объект для получения дополнительной информации.

      Доступный в iOS 8.0 и позже.

    • Denied

      CKApplicationPermissionStatusDenied

      Пользователь запретил доступа к разрешению.

      Доступный в iOS 8.0 и позже.

    • Granted

      CKApplicationPermissionStatusGranted

      Пользователь предоставил доступ к разрешению.

      Доступный в iOS 8.0 и позже.

    Обсуждение

    Об этих константах сообщают statusForApplicationPermission:completion: и requestApplicationPermission:completion: методы. Для списка полномочий приложение может запросить, видеть CKApplicationPermissions.

    Оператор импорта

    Objective C

    @import CloudKit;

    Swift

    import CloudKit

    Доступность

    Доступный в iOS 8.0 и позже.