Ссылка ABAddressBook
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import AddressBook
Objective C
@import AddressBook;
ABAddressBook непрозрачный тип (чьи экземпляры известны как адресные книги) обеспечивает интерфейс программирования для Адресной книги — централизованная база данных, используемая многократными приложениями, чтобы хранить персональную информацию о людях. База данных Address Book также поддерживает понятие «группы», содержащей одно или более лиц. Люди могут принадлежать многократным группам, и группы могут также принадлежать другим группам.
ABAddressBook непрозрачный тип обеспечивает функции для создания ссылок на базу данных Address Book, сохранение изменений, отбрасывание изменений и регистрация для изменений, внесенных внешне (другими потоками или процессами) к базе данных.
-
ABAddressBookCreate(iOS 6.0)Создает новый объект адресной книги с данными от базы данных 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() -> ABAuthorizationStatusObjective 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!) -> BoolObjective 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>?>) -> BoolObjective 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>?>) -> BoolObjective 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>?>) -> BoolObjective 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 и позже.
-
Когда база данных Address Book изменяется, регистрирует обратный вызов для получения уведомлений.
Объявление
Swift
func ABAddressBookRegisterExternalChangeCallback(_addressBook: ABAddressBook!, _callBack: ABExternalChangeCallback, _context: UnsafeMutablePointer<Void>)Objective C
void ABAddressBookRegisterExternalChangeCallback ( ABAddressBookRef addressBook, ABExternalChangeCallback callback, void *context );Параметры
addressBookАдресная книга раньше взаимодействовала с базой данных Address Book.
callBackФункция для вызова, когда изменяется база данных Address Book.
contextОбъект передать функции обратного вызова.
Оператор импорта
Objective C
@import AddressBook;Swift
import AddressBookДоступность
Доступный в iOS 2.0 и позже.
-
ABAddressBookUnregisterExternalChangeCallback (_: _: _:) ABAddressBookUnregisterExternalChangeCallbackНе регистрирует обратный вызов.
Объявление
Swift
func ABAddressBookUnregisterExternalChangeCallback(_addressBook: ABAddressBook!, _callBack: ABExternalChangeCallback, _context: UnsafeMutablePointer<Void>)Objective C
void ABAddressBookUnregisterExternalChangeCallback ( ABAddressBookRef addressBook, ABExternalChangeCallback callback, void *context );Параметры
addressBookАдресная книга раньше взаимодействовала с базой данных Address Book.
callBackФункция для вызова, когда изменяется база данных Address Book. Подпись функции должна соответствовать
ABExternalChangeCallback.contextОбъект передать функции обратного вызова.
Оператор импорта
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 = ABAddressBookObjective C
typedef CFTypeRef ABAddressBookRef;Оператор импорта
Objective C
@import AddressBook;Swift
import AddressBookДоступность
Доступный в iOS 2.0 и позже.
-
Когда запрос доступа завершился, определение для блочного обратного вызова вызвало.
Объявление
Swift
typealias ABAddressBookRequestAccessCompletionHandler = (Bool, CFError!) -> VoidObjective C
typedef void (^ABAddressBookRequestAccessCompletionHandler) ( bool granted, CFErrorRef error );Обсуждение
Блоки обработчика завершения доступа запроса адресной книги используются с
ABAddressBookCreateWithOptions. Если бы у Вас был контроллер представления, хотевший вывести на экран количество пользователей с именем «Смит» в адресной книге, то Вы могли бы реализовать что-то как код, показанный в следующем листинге кода.Использование реализации перечисления 1Sample ABAddressBookRequestAccessCompletionHandler @implementation APLViewController- (void)viewDidLoad{[super viewDidLoad];// Do any additional setup after loading the viewCFErrorRef myError = NULL;ABAddressBookRef myAddressBook = ABAddressBookCreateWithOptions(NULL, &myError);APLViewController * __weak weakSelf = self; // avoid capturing self in the blockABAddressBookRequestAccessWithCompletion(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;Константы
-
Различные возможные значения для состояния авторизации приложения относительно данных адресной книги.
Объявление
Swift
enum ABAuthorizationStatus : CFIndex { case NotDetermined case Restricted case Denied case Authorized }Objective C
typedef CF_ENUM (CFIndex, ABAuthorizationStatus ) { kABAuthorizationStatusNotDetermined = 0, kABAuthorizationStatusRestricted, kABAuthorizationStatusDenied, kABAuthorizationStatusAuthorized };Константы
-
NotDeterminedkABAuthorizationStatusNotDeterminedНикакое состояние авторизации не могло быть определено.
Доступный в iOS 6.0 и позже.
-
RestrictedkABAuthorizationStatusRestrictedПриложение не авторизовывается к данным книги указателя. Пользователь не может изменить этот доступ, возможно вследствие ограничений, таких как родительский контроль.
Доступный в iOS 6.0 и позже.
-
DeniedkABAuthorizationStatusDeniedПользователь явно запретил доступа к данным адресной книги для этого приложения.
Доступный в iOS 6.0 и позже.
-
AuthorizedkABAuthorizationStatusAuthorizedПриложение авторизовывается к данным книги указателя.
Доступный в 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 и позже.
-
