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

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

Разработчик

Ссылка платформы AddressBook ссылка ABAddressBook

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

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

Ссылка ABAddressBook

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


Не применимый

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


Не применимый

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


Swift

import AddressBook

Objective C

@import AddressBook;

ABAddressBook непрозрачный тип (чьи экземпляры известны как адресные книги) обеспечивает интерфейс программирования для Адресной книги — централизованная база данных, используемая многократными приложениями, чтобы хранить персональную информацию о людях. База данных Address Book также поддерживает понятие «группы», содержащей одно или более лиц. Люди могут принадлежать многократным группам, и группы могут также принадлежать другим группам.

ABAddressBook непрозрачный тип обеспечивает функции для создания ссылок на базу данных Address Book, сохранение изменений, отбрасывание изменений и регистрация для изменений, внесенных внешне (другими потоками или процессами) к базе данных.

Функции

  • Создает новый объект адресной книги с данными от базы данных Address Book.

    Оператор осуждения

    Используйте ABAddressBookCreateWithOptions функция вместо этого.

    Объявление

    Objective C

    ABAddressBookRef ABAddressBookCreate ( void );

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

    Объект адресной книги.

    Обсуждение

    Изменения, внесенные в возвращенную адресную книгу, отражаются в базе данных Address Book только после сохранения адресной книги с ABAddressBookSave.

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

    Objective C

    @import AddressBook;

    Доступность

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

    Осуждаемый в iOS 6.0.

  • Создает новый объект адресной книги с данными от базы данных Address Book.

    Объявление

    Swift

    func ABAddressBookCreateWithOptions(_ options: CFDictionary!, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>) -> Unmanaged<ABAddressBook>!

    Objective C

    ABAddressBookRef ABAddressBookCreateWithOptions ( CFDictionaryRef options, CFErrorRef *error );

    Параметры

    options

    Зарезервированный. Передача NULL.

    error

    На ошибке, содержит информацию об ошибке. Посмотрите Ошибки Адресной книги.

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

    Объект адресной книги, NULL, или пустая база данных.

    Обсуждение

    Изменения, внесенные в возвращенную адресную книгу, отражаются в базе данных Address Book только после сохранения адресной книги с ABAddressBookSave.

    На iOS 6.0 и позже, если вызывающая сторона не имеет доступа к базе данных Address Book:

    • Для приложений, соединенных против iOS 6.0 и позже, эта функция возвраты NULL.

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

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

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

    Objective C

    @import AddressBook;

    Swift

    import AddressBook

    Доступность

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

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

    Объявление

    Swift

    func ABAddressBookGetAuthorizationStatus() -> ABAuthorizationStatus

    Objective C

    ABAuthorizationStatus ABAddressBookGetAuthorizationStatus ( void );

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

    Состояние авторизации для Вашего приложения.

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

    Objective C

    @import AddressBook;

    Swift

    import AddressBook

    Доступность

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

  • Запрашивает доступ к данным адресной книги от пользователя.

    Объявление

    Swift

    func ABAddressBookRequestAccessWithCompletion(_ addressBook: ABAddressBook!, _ completion: ABAddressBookRequestAccessCompletionHandler!)

    Objective C

    void ABAddressBookRequestAccessWithCompletion ( ABAddressBookRef addressBook, ABAddressBookRequestAccessCompletionHandler completion );

    Параметры

    addressBook

    Рассматриваемая адресная книга.

    completion

    Обработчик завершения, вызванный один раз доступ, предоставил или отклонил пользователь.

    Обсуждение

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

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

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

    Objective C

    @import AddressBook;

    Swift

    import AddressBook

    Доступность

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

  • Указывает, имеет ли адресная книга изменения, не сохраненные к базе данных Address Book.

    Объявление

    Swift

    func ABAddressBookHasUnsavedChanges(_ addressBook: ABAddressBook!) -> Bool

    Objective C

    bool ABAddressBookHasUnsavedChanges ( ABAddressBookRef addressBook );

    Параметры

    addressBook

    Рассматриваемая адресная книга.

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

    true когда addressBook содержит несохраненные изменения, false иначе.

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

    Objective C

    @import AddressBook;

    Swift

    import AddressBook

    Доступность

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

  • Сохраняет любые несохраненные изменения в базе данных Address Book.

    Объявление

    Swift

    func ABAddressBookSave(_ addressBook: ABAddressBook!, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>) -> Bool

    Objective C

    bool ABAddressBookSave ( ABAddressBookRef addressBook, CFErrorRef *error );

    Параметры

    addressBook

    Адресная книга для сохранения.

    error

    На ошибке, содержит информацию об ошибке. Посмотрите Ошибки Адресной книги.

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

    true когда успешный, false иначе.

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

    Objective C

    @import AddressBook;

    Swift

    import AddressBook

    Доступность

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

  • Отбрасывания несохраненные изменения в адресной книге.

    Объявление

    Swift

    func ABAddressBookRevert(_ addressBook: ABAddressBook!)

    Objective C

    void ABAddressBookRevert ( ABAddressBookRef addressBook );

    Параметры

    addressBook

    Адресная книга для возвращения.

    Обсуждение

    Адресная книга загружается информацией в базе данных Address Book.

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

    Objective C

    @import AddressBook;

    Swift

    import AddressBook

    Доступность

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

  • Добавляет запись на адресную книгу.

    Объявление

    Swift

    func ABAddressBookAddRecord(_ addressBook: ABAddressBook!, _ record: ABRecord!, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>) -> Bool

    Objective C

    bool ABAddressBookAddRecord ( ABAddressBookRef addressBook, ABRecordRef record, CFErrorRef *error );

    Параметры

    addressBook

    Адресная книга та, к который record добавляется.

    record

    Запись для добавления к addressBook.

    error

    На ошибке, содержит информацию об ошибке. Посмотрите Ошибки Адресной книги.

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

    true когда успешный, false иначе.

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

    Objective C

    @import AddressBook;

    Swift

    import AddressBook

    Доступность

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

  • Удаляет запись из адресной книги.

    Объявление

    Swift

    func ABAddressBookRemoveRecord(_ addressBook: ABAddressBook!, _ record: ABRecord!, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>) -> Bool

    Objective C

    bool ABAddressBookRemoveRecord ( ABAddressBookRef addressBook, ABRecordRef record, CFErrorRef *error );

    Параметры

    addressBook

    Адресная книга та, от который record должен быть удален.

    record

    Запись для удаления из addressBook.

    error

    На ошибке, содержит информацию об ошибке. Посмотрите Ошибки Адресной книги.

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

    true когда успешный, false иначе.

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

    Objective C

    @import AddressBook;

    Swift

    import AddressBook

    Доступность

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

  • Возвращает локализованную версию метки рекордного свойства.

    Объявление

    Swift

    func ABAddressBookCopyLocalizedLabel(_ label: CFString!) -> Unmanaged<CFString>!

    Objective C

    CFStringRef ABAddressBookCopyLocalizedLabel ( CFStringRef label );

    Параметры

    label

    Метка для локализации.

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

    Метка, локализованная к локали пользователя.

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

    Objective C

    @import AddressBook;

    Swift

    import AddressBook

    Доступность

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

Обратные вызовы

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

    Объявление

    Swift

    typealias ABExternalChangeCallback = CFunctionPointer<((ABAddressBook!, CFDictionary!, UnsafeMutablePointer<Void>) -> Void)>

    Objective C

    typedef void (*ABExternalChangeCallback) ( ABAddressBookRef addressBook, CFDictionaryRef info, void *context );

    Параметры

    addressBook

    Адресная книга раньше взаимодействовала с базой данных Address Book.

    info

    Всегда NULL.

    context

    Объект передать функции обратного вызова.

    Обсуждение

    Использовать ABAddressBookRegisterExternalChangeCallback зарегистрироваться и ABAddressBookUnregisterExternalChangeCallback не зарегистрировать функцию обратного вызова.

    Можно зарегистрироваться для обратного вызова в различных контекстах или функциях обратного вызова. Цикл выполнения на потоке, зарегистрировавшем обратный вызов, вызывает обратный вызов.

    addressBook объект не принимает мер, чтобы сбросить или синхронизировать кэшируемое состояние с базой данных Address Book. Если Вы хотите гарантировать это addressBook не содержит устаревшие значения, используют ABAddressBookRevert.

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

    Objective C

    @import AddressBook;

    Swift

    import AddressBook

    Доступность

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

Типы данных

  • Ссылка на объект раньше взаимодействовала с базой данных Address Book.

    Объявление

    Swift

    typealias ABAddressBookRef = ABAddressBook

    Objective C

    typedef CFTypeRef ABAddressBookRef;

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

    Objective C

    @import AddressBook;

    Swift

    import AddressBook

    Доступность

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

  • Когда запрос доступа завершился, определение для блочного обратного вызова вызвало.

    Объявление

    Swift

    typealias ABAddressBookRequestAccessCompletionHandler = (Bool, CFError!) -> Void

    Objective C

    typedef void (^ABAddressBookRequestAccessCompletionHandler) ( bool granted, CFErrorRef error );

    Обсуждение

    Блоки обработчика завершения доступа запроса адресной книги используются с ABAddressBookCreateWithOptions. Если бы у Вас был контроллер представления, хотевший вывести на экран количество пользователей с именем «Смит» в адресной книге, то Вы могли бы реализовать что-то как код, показанный в следующем листинге кода.

    Использование реализации перечисления 1Sample ABAddressBookRequestAccessCompletionHandler
    • @implementation APLViewController
    • - (void)viewDidLoad
    • {
    • [super viewDidLoad];
    • // Do any additional setup after loading the view
    • CFErrorRef myError = NULL;
    • ABAddressBookRef myAddressBook = ABAddressBookCreateWithOptions(NULL, &myError);
    • APLViewController * __weak weakSelf = self; // avoid capturing self in the block
    • ABAddressBookRequestAccessWithCompletion(myAddressBook,
    • ^(bool granted, CFErrorRef error) {
    • if (granted) {
    • NSArray *theSmiths = CFBridgingRelease(
    • ABAddressBookCopyPeopleWithName(myAddressBook,
    • CFSTR("Smith")
    • )
    • );
    • weakSelf.numberOfSmiths = [theSmiths count];
    • } else {
    • // Handle the case of being denied access and/or the error.
    • }
    • CFRelease(myAddressBook);
    • });
    • }
    • ...
    • @end

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

    Objective C

    @import AddressBook;

    Swift

    import AddressBook

    Доступность

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

Константы

  • Домен Error, под которым сгруппированы ошибки Адресной книги.

    Объявление

    Swift

    let ABAddressBookErrorDomain: CFString!

    Objective C

    const CFStringRef ABAddressBookErrorDomain;

    Константы

    • ABAddressBookErrorDomain

      Основной ошибочный домен для операций платформы Адресной книги.

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

  • Различные возможные значения для состояния авторизации приложения относительно данных адресной книги.

    Объявление

    Swift

    enum ABAuthorizationStatus : CFIndex { case NotDetermined case Restricted case Denied case Authorized }

    Objective C

    typedef CF_ENUM (CFIndex, ABAuthorizationStatus ) { kABAuthorizationStatusNotDetermined = 0, kABAuthorizationStatusRestricted, kABAuthorizationStatusDenied, kABAuthorizationStatusAuthorized };

    Константы

    • NotDetermined

      kABAuthorizationStatusNotDetermined

      Никакое состояние авторизации не могло быть определено.

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

    • Restricted

      kABAuthorizationStatusRestricted

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

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

    • Denied

      kABAuthorizationStatusDenied

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

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

    • Authorized

      kABAuthorizationStatusAuthorized

      Приложение авторизовывается к данным книги указателя.

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

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

    Objective C

    @import AddressBook;

    Swift

    import AddressBook

    Доступность

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

  • Ошибки, которые могут быть повышены под ошибочным доменом Адресной книги.

    Объявление

    Swift

    var kABOperationNotPermittedByStoreError: Int { get } var kABOperationNotPermittedByUserError: Int { get }

    Objective C

    enum { kABOperationNotPermittedByStoreError = 0, kABOperationNotPermittedByUserError };

    Константы

    • kABOperationNotPermittedByStoreError

      Работа не позволяется базой данных Address Book, потому что источник контакта не поддерживает его.

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

    • kABOperationNotPermittedByUserError

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

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