Ссылка SCPreferences
SCPreferences
интерфейс программирования позволяет приложению загружать и хранить данные конфигурации XML с сохранением контроля над ситуацией и обеспечивать необходимые уведомления другим приложениям, которые должны знать об изменениях конфигурации.
К предпочтениям конфигурации доступа необходимо сначала установить предпочтительный сеанс с помощью SCPreferencesCreate
функция. Для идентификации определенного набора предпочтений к доступу Вы передаете значение в prefsID параметре. A NULL
значение указывает, что к установкам системы по умолчанию нужно получить доступ. Строка, запускающаяся с продвижения «/» символ, указывает абсолютный путь к файлу, содержащему предпочтения, к которым получат доступ. Строка, не запускающаяся с продвижения «/» символ, указывает файл относительно каталога установок системы по умолчанию.
Когда Вы закончите с предпочтительным сеансом, используйте CFRelease
функционируйте для выпуска его.
-
Инициирует доступ к набору на систему предпочтений конфигурации.
Объявление
Swift
func SCPreferencesCreate(_
allocator
: CFAllocator!, _name
: CFString!, _prefsID
: CFString!) -> Unmanaged<SCPreferences>!Objective C
SCPreferencesRef SCPreferencesCreate ( CFAllocatorRef allocator, CFStringRef name, CFStringRef prefsID );
Параметры
allocator
Средство выделения для использования для выделения памяти для этого предпочтительного сеанса. Если значение не является допустимым
CFAllocator
, поведение не определено. ПередачаNULL
илиkCFAllocatorDefault
использовать текущее значение по умолчаниюCFAllocator
.name
Имя обработки вызовов.
prefsID
Имя группы предпочтений, к которым получат доступ или обновят. Имя, запускающееся с продвижения «/» символ, указывает абсолютный путь к файлу, содержащему предпочтения, к которым получат доступ. Имя, не запускающееся с продвижения «/» символ, указывает файл относительно каталога установок системы по умолчанию.
Для доступа к установкам системы по умолчанию передайте в
NULL
.Возвращаемое значение
Ссылка на новый предпочтительный сеанс. Необходимо выпустить возвращенное значение.
Оператор импорта
Objective C
@import SystemConfiguration;
Swift
import SystemConfiguration
Доступность
Доступный в OS X v10.1 и позже.
-
Инициирует доступ к набору на систему предпочтений конфигурации с указанной авторизацией.
Объявление
Swift
func SCPreferencesCreateWithAuthorization(_
allocator
: CFAllocator!, _name
: CFString!, _prefsID
: CFString!, _authorization
: AuthorizationRef) -> Unmanaged<SCPreferences>!Objective C
SCPreferencesRef SCPreferencesCreateWithAuthorization ( CFAllocatorRef allocator, CFStringRef name, CFStringRef prefsID, AuthorizationRef authorization );
Параметры
allocator
Средство выделения для использования для выделения памяти для этого предпочтительного сеанса. Если значение не является допустимым
CFAllocator
, поведение не определено. ПередачаNULL
илиkCFAllocatorDefault
использовать текущее значение по умолчаниюCFAllocator
.name
Имя обработки вызовов.
prefsID
Имя группы предпочтений, к которым получат доступ или обновят. Имя, запускающееся с продвижения «/» символ, указывает абсолютный путь к файлу, содержащему предпочтения, к которым получат доступ. Имя, не запускающееся с продвижения «/» символ, указывает файл относительно каталога установок системы по умолчанию.
Для доступа к установкам системы по умолчанию передайте в
NULL
.authorization
Ссылка авторизации, использующаяся для авторизации любого доступа к улучшенным полномочиям, должна была управлять предпочтительным сеансом.
Возвращаемое значение
Ссылка на новый предпочтительный сеанс. Необходимо выпустить возвращенное значение.
Оператор импорта
Objective C
@import SystemConfiguration;
Swift
import SystemConfiguration
Доступность
Доступный в OS X v10.5 и позже.
-
Возвращает идентификатор типа всех
SCPreferences
экземпляры.Объявление
Swift
func SCPreferencesGetTypeID() -> CFTypeID
Objective C
CFTypeID SCPreferencesGetTypeID ( void );
Оператор импорта
Objective C
@import SystemConfiguration;
Swift
import SystemConfiguration
Доступность
Доступный в OS X v10.1 и позже.
-
Возвращает в настоящее время определяемые предпочтительные ключи.
Объявление
Swift
func SCPreferencesCopyKeyList(_
prefs
: SCPreferences!) -> Unmanaged<CFArray>!Objective C
CFArrayRef SCPreferencesCopyKeyList ( SCPreferencesRef prefs );
Параметры
prefs
Предпочтительный сеанс.
Возвращаемое значение
Массив в настоящее время определяемых предпочтительных ключей. Необходимо выпустить возвращенное значение.
Оператор импорта
Objective C
@import SystemConfiguration;
Swift
import SystemConfiguration
Доступность
Доступный в OS X v10.1 и позже.
-
Возвращает значение, которое может использоваться, чтобы определить, изменились ли сохраненные предпочтения конфигурации.
Объявление
Swift
func SCPreferencesGetSignature(_
prefs
: SCPreferences!) -> Unmanaged<CFData>!Objective C
CFDataRef SCPreferencesGetSignature ( SCPreferencesRef prefs );
Параметры
prefs
Предпочтительный сеанс.
Возвращаемое значение
Данные, отражающие подпись предпочтений конфигурации во время вызова к
SCPreferencesCreate
функция.Оператор импорта
Objective C
@import SystemConfiguration;
Swift
import SystemConfiguration
Доступность
Доступный в OS X v10.1 и позже.
-
Связывает указанное значение с указанным предпочтительным ключом.
Объявление
Swift
func SCPreferencesAddValue(_
prefs
: SCPreferences!, _key
: CFString!, _value
: CFPropertyList!) -> BooleanObjective C
Boolean SCPreferencesAddValue ( SCPreferencesRef prefs, CFStringRef key, CFPropertyListRef value );
Параметры
prefs
Предпочтительный сеанс.
key
Предпочтительный ключ.
value
Значение для соединения с предпочтительным ключом.
Возвращаемое значение
TRUE
если было добавлено значение;FALSE
если ошибка произошла, если ключ уже существует или.Обсуждение
Для передачи этих изменений в постоянном хранении необходимо вызвать
SCPreferencesCommitChanges
.Оператор импорта
Objective C
@import SystemConfiguration;
Swift
import SystemConfiguration
Доступность
Доступный в OS X v10.1 и позже.
-
Получает значение, связанное с указанным предпочтительным ключом.
Объявление
Swift
func SCPreferencesGetValue(_
prefs
: SCPreferences!, _key
: CFString!) -> Unmanaged<CFPropertyList>!Objective C
CFPropertyListRef SCPreferencesGetValue ( SCPreferencesRef prefs, CFStringRef key );
Параметры
prefs
Предпочтительный сеанс.
key
Предпочтительный ключ.
Возвращаемое значение
Значение связалось с указанным предпочтительным ключом (может быть
NULL
если никакое значение не существует).Обсуждение
Чтобы избежать непреднамеренно считывать устаревшие данные, сначала вызовите
SCPreferencesLock
прежде, чем вызвать эту функцию.Оператор импорта
Objective C
@import SystemConfiguration;
Swift
import SystemConfiguration
Доступность
Доступный в OS X v10.1 и позже.
-
Обновляет данные, связанные с указанным предпочтительным ключом с указанным значением.
Объявление
Swift
func SCPreferencesSetValue(_
prefs
: SCPreferences!, _key
: CFString!, _value
: CFPropertyList!) -> BooleanObjective C
Boolean SCPreferencesSetValue ( SCPreferencesRef prefs, CFStringRef key, CFPropertyListRef value );
Параметры
prefs
Предпочтительный сеанс.
key
Предпочтительный ключ.
value
Значение для соединения с предпочтительным ключом.
Возвращаемое значение
TRUE
если было установлено значение;FALSE
если произошла ошибка.Обсуждение
Эта функция добавляет или заменяет значение, связанное с указанным ключом. Для передачи этих изменений в постоянном хранении, необходимо вызвать
SCPreferencesCommitChanges
.Оператор импорта
Objective C
@import SystemConfiguration;
Swift
import SystemConfiguration
Доступность
Доступный в OS X v10.1 и позже.
-
Удаляет данные, связанные с указанным предпочтительным ключом.
Объявление
Swift
func SCPreferencesRemoveValue(_
prefs
: SCPreferences!, _key
: CFString!) -> BooleanObjective C
Boolean SCPreferencesRemoveValue ( SCPreferencesRef prefs, CFStringRef key );
Параметры
prefs
Предпочтительный сеанс.
key
Предпочтительный ключ.
Возвращаемое значение
TRUE
если было удалено значение;FALSE
если ошибка произошла, если ключ не существует или.Оператор импорта
Objective C
@import SystemConfiguration;
Swift
import SystemConfiguration
Доступность
Доступный в OS X v10.1 и позже.
-
Запросы, что в настоящее время сохраненные предпочтения конфигурации быть примененным к активной конфигурации.
Объявление
Swift
func SCPreferencesApplyChanges(_
prefs
: SCPreferences!) -> BooleanObjective C
Boolean SCPreferencesApplyChanges ( SCPreferencesRef prefs );
Параметры
prefs
Предпочтительный сеанс.
Возвращаемое значение
TRUE
если была получена блокировка;FALSE
если произошла ошибка.Оператор импорта
Objective C
@import SystemConfiguration;
Swift
import SystemConfiguration
Доступность
Доступный в OS X v10.1 и позже.
-
Изменения фиксаций, внесенные в предпочтения конфигурации к персистентному хранению.
Объявление
Swift
func SCPreferencesCommitChanges(_
prefs
: SCPreferences!) -> BooleanObjective C
Boolean SCPreferencesCommitChanges ( SCPreferencesRef prefs );
Параметры
prefs
Предпочтительный сеанс.
Возвращаемое значение
TRUE
если была получена блокировка;FALSE
если произошла ошибка.Обсуждение
Неявные вызовы к
SCPreferencesLock
иSCPreferencesUnlock
если эксклюзивный доступ не был уже установлен, функции сделаны.Оператор импорта
Objective C
@import SystemConfiguration;
Swift
import SystemConfiguration
Доступность
Доступный в OS X v10.1 и позже.
-
Синхронизируется получил доступ к предпочтениям с зафиксированными изменениями.
Объявление
Swift
func SCPreferencesSynchronize(_
prefs
: SCPreferences!)Objective C
void SCPreferencesSynchronize ( SCPreferencesRef prefs );
Параметры
prefs
Предпочтительный сеанс.
Обсуждение
Любые ссылки на предпочтительные значения, возвращенные вызовами к
SCPreferencesGetValue
больше не действительны, если они не были явно сохранены или скопированы. Любые предпочтительные значения, обновленные (добавленный, набор, или удалил), но не фиксировали, отбрасываются.Оператор импорта
Objective C
@import SystemConfiguration;
Swift
import SystemConfiguration
Доступность
Доступный в OS X v10.4 и позже.
-
Присваивает указанный обратный вызов указанному предпочтительному сеансу.
Объявление
Swift
func SCPreferencesSetCallback(_
prefs
: SCPreferences!, _callout
: SCPreferencesCallBack, _Term
: UnsafeMutablePointer<SCPreferencesContext>) -> BooleanObjective C
Boolean SCPreferencesSetCallback ( SCPreferencesRef prefs, SCPreferencesCallBack callout, SCPreferencesContext *context );
Параметры
prefs
Предпочтительный сеанс.
callout
Функция, которую вызовут, когда предпочтения были изменены или применены. Если
NULL
, текущий обратный вызов удален.Term
Контекст связался с функцией обратного вызова. Посмотрите
SCPreferencesContext
для получения дополнительной информации об этой структуре.Возвращаемое значение
TRUE
если обратный вызов был успешно связан с предпочтительным сеансом; иначе,FALSE
.Обсуждение
Когда изменения в предпочтениях фиксировались или применялись, эта функция вызвана.
Оператор импорта
Objective C
@import SystemConfiguration;
Swift
import SystemConfiguration
Доступность
Доступный в OS X v10.4 и позже.
-
Расписания фиксируют и применяют уведомления для указанного предпочтительного сеанса с помощью указанного цикла выполнения и режима.
Объявление
Swift
func SCPreferencesScheduleWithRunLoop(_
prefs
: SCPreferences!, _runLoop
: CFRunLoop!, _runLoopMode
: CFString!) -> BooleanObjective C
Boolean SCPreferencesScheduleWithRunLoop ( SCPreferencesRef prefs, CFRunLoopRef runLoop, CFStringRef runLoopMode );
Параметры
prefs
Предпочтительный сеанс.
runLoop
Цикл выполнения, на который должно быть запланировано уведомление. Не передавать
NULL
.runLoopMode
Режим цикла выполнения, с которым можно запланировать уведомление. Не передавать
NULL
.Возвращаемое значение
TRUE
если успешно планируются уведомления; иначе,FALSE
.Оператор импорта
Objective C
@import SystemConfiguration;
Swift
import SystemConfiguration
Доступность
Доступный в OS X v10.4 и позже.
-
Нерасписания фиксируют и применяют уведомления для указанного предпочтительного сеанса от указанного цикла выполнения и режима.
Объявление
Swift
func SCPreferencesUnscheduleFromRunLoop(_
prefs
: SCPreferences!, _runLoop
: CFRunLoop!, _runLoopMode
: CFString!) -> BooleanObjective C
Boolean SCPreferencesUnscheduleFromRunLoop ( SCPreferencesRef prefs, CFRunLoopRef runLoop, CFStringRef runLoopMode );
Параметры
prefs
Предпочтительный сеанс.
runLoop
Цикл выполнения, от которого уведомление должно быть не запланировано. Не передавать
NULL
.runLoopMode
Режим цикла выполнения связался с запланированным уведомлением. Не передавать
NULL
.Возвращаемое значение
TRUE
если уведомления успешно не запланированы; иначе,FALSE
.Оператор импорта
Objective C
@import SystemConfiguration;
Swift
import SystemConfiguration
Доступность
Доступный в OS X v10.4 и позже.
-
Расписания фиксируют и применяют уведомления для указанного предпочтительного сеанса с помощью указанной очереди отгрузки.
Объявление
Swift
func SCPreferencesSetDispatchQueue(_
prefs
: SCPreferences!, _queue
: dispatch_queue_t!) -> BooleanObjective C
Boolean SCPreferencesSetDispatchQueue ( SCPreferencesRef prefs, dispatch_queue_t queue );
Параметры
prefs
Предпочтительный сеанс.
queue
Очередь отгрузки, на которой можно выполнить функцию обратного вызова.
Возвращаемое значение
TRUE
если успешно планируются уведомления; иначе,FALSE
.Оператор импорта
Objective C
@import SystemConfiguration;
Swift
import SystemConfiguration
Доступность
Доступный в OS X v10.6 и позже.
-
Доступ блокировок к предпочтениям конфигурации.
Объявление
Swift
func SCPreferencesLock(_
prefs
: SCPreferences!, _wait
: Boolean) -> BooleanObjective C
Boolean SCPreferencesLock ( SCPreferencesRef prefs, Boolean wait );
Параметры
prefs
Предпочтительный сеанс.
wait
Булево значение, указывающее, должна ли обработка вызовов блокировать, ожидая другого процесса, чтобы завершить его работу обновления и выпустить его блокировку.
Возвращаемое значение
TRUE
если была получена блокировка;FALSE
если произошла ошибка.Обсуждение
Эта функция получает эксклюзивный доступ к предпочтениям конфигурации. Клиенты, пытающиеся получить эксклюзивный доступ к предпочтениям, любой получает a
kSCStatusPrefsBusy
ошибка или они блокируют, ожидая блокировки, которая будет выпущена.Оператор импорта
Objective C
@import SystemConfiguration;
Swift
import SystemConfiguration
Доступность
Доступный в OS X v10.1 и позже.
-
Эксклюзивный доступ выпусков к предпочтениям конфигурации.
Объявление
Swift
func SCPreferencesUnlock(_
prefs
: SCPreferences!) -> BooleanObjective C
Boolean SCPreferencesUnlock ( SCPreferencesRef prefs );
Параметры
prefs
Предпочтительный сеанс.
Возвращаемое значение
TRUE
если была получена блокировка;FALSE
если произошла ошибка.Обсуждение
После того, как эксклюзивный доступ был выпущен, другие клиенты могут установить эксклюзивный доступ к предпочтениям.
Оператор импорта
Objective C
@import SystemConfiguration;
Swift
import SystemConfiguration
Доступность
Доступный в OS X v10.1 и позже.
-
Дескриптор к открытому предпочтительному сеансу для доступа к предпочтениям конфигурации системы.
Объявление
Swift
typealias SCPreferencesRef = SCPreferences
Objective C
typedef const struct __SCPreferences * SCPreferencesRef;
Оператор импорта
Objective C
@import SystemConfiguration;
Swift
import SystemConfiguration
Доступность
Доступный в OS X v10.1 и позже.
-
Структура, содержащая указанные пользователями данные и обратные вызовы для доступа к предпочтениям конфигурации системы.
Объявление
Swift
struct SCPreferencesContext { var version: CFIndex var info: UnsafeMutablePointer<Void> var retain: CFunctionPointer<((UnsafePointer<Void>) -> UnsafePointer<Void>)> var release: CFunctionPointer<((UnsafePointer<Void>) -> Void)> var copyDescription: CFunctionPointer<((UnsafePointer<Void>) -> Unmanaged<CFString>!)> }
Objective C
typedef struct { CFIndex version; void * info; const void *(*retain)(const void *info); void (*release)(const void *info); CFStringRef (*copyDescription)(const void *info); } SCPreferencesContext;
Поля
version
Номер версии типа структуры, передаваемого в в качестве параметра
SCPreferencesSetCallback
. Эта структура является версией0
.info
Указатель C на указанный пользователями блок данных.
retain
Обратный вызов раньше добавлял сохранение для
info
поле. Если этот параметр не является указателем на функцию корректного прототипа, поведение не определено. Значение может бытьNULL
.release
Обратный вызов раньше удалял сохранение ранее добавленного для
info
поле. Если этот параметр не является указателем на функцию корректного прототипа, поведение не определено. Значение может бытьNULL
.copyDescription
Обратный вызов раньше предоставлял описание
info
поле.Доступность
Доступный в OS X v10.4 и позже.
-
Когда предпочтения были обновлены или применены, тип функции обратного вызова использовал.
Объявление
Swift
typealias SCPreferencesCallBack = CFunctionPointer<((SCPreferences!, SCPreferencesNotification, UnsafeMutablePointer<Void>) -> Void)>
Objective C
typedef void (*SCPreferencesCallBack) ( SCPreferencesRef prefs, SCPreferencesNotification notificationType, void *info );
Оператор импорта
Objective C
@import SystemConfiguration;
Swift
import SystemConfiguration
Доступность
Доступный в OS X v10.4 и позже.
-
Тип уведомления (используемый с
SCPreferencesCallBack
обратный вызов).Объявление
Swift
typealias SCPreferencesNotification = UInt32
Objective C
enum { kSCPreferencesNotificationCommit = 1<<0, kSCPreferencesNotificationApply = 1<<1 }; typedef uint32_t SCPreferencesNotification;
Константы
-
kSCPreferencesNotificationCommit
kSCPreferencesNotificationCommit
Когда новые предпочтения были сохранены, указывает.
Доступный в OS X v10.4 и позже.
-
kSCPreferencesNotificationApply
kSCPreferencesNotificationApply
Когда запрос был выполнен для применения в настоящее время сохраняемых предпочтений к активной конфигурации системы, указывает.
Доступный в OS X v10.4 и позже.
Оператор импорта
Objective C
@import SystemConfiguration;
Swift
import SystemConfiguration
Доступность
Доступный в OS X v10.4 и позже.
-