Предпочтительная ссылка утилит
Базовая Основа обеспечивает простой, стандартный способ управлять пользователем (и приложение) предпочтения. Базовая Основа хранит предпочтения как пары ключ/значение, присваивающиеся объем с помощью комбинации имени пользователя, идентификатора приложения, и размещающие (компьютер) имена. Это позволяет сохранить и получить предпочтения, применяющиеся к различным классам пользователей. Базовые предпочтения Основы полезны для всех приложений та поддержка пользовательские настройки. Обратите внимание на то, что модификация некоторых предпочтительных доменов (те, которые не принадлежат “Текущему Пользователю”), требует, чтобы полномочия пользователя root (или Административные привилегии до OS X v10.6) — видели Руководство по программированию Authorization Services для получения информации о том, как получить подходящие полномочия.
В отличие от некоторых других Базовых типов Основы, CFPreferences не бесплатный соединенный мостом к его соответствующему классу платформы Основы Какао (NSUserDefaults
). CFPreferences ориентирован на многопотоковое исполнение.
-
Получает предпочтительное значение для указанного ключа и приложения.
Объявление
Swift
func CFPreferencesCopyAppValue(_
key
: CFString!, _applicationID
: CFString!) -> CFPropertyList!Objective C
CFPropertyListRef CFPreferencesCopyAppValue ( CFStringRef key, CFStringRef applicationID );
Параметры
key
Предпочтительный ключ, чье значение для получения.
applicationID
Идентификатор приложения, чьи предпочтения для поиска, обычно
kCFPreferencesCurrentApplication
. Не передаватьNULL
илиkCFPreferencesAnyApplication
. Принимает форму имени пакета Java,com.foosoft
.Возвращаемое значение
Предпочтительные данные для указанного ключа и приложения. Если никакое значение не было расположено, возвраты
NULL
. Владение соблюдает Создать Правило.Обсуждение
Обратите внимание на то, что значения, возвращенные из этой функции, являются неизменными даже при недавней установке значения с помощью непостоянного объекта.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Конструкции и возвраты список всех ключей установлены в указанном домене.
Объявление
Swift
func CFPreferencesCopyKeyList(_
applicationID
: CFString!, _userName
: CFString!, _hostName
: CFString!) -> CFArray!Objective C
CFArrayRef CFPreferencesCopyKeyList ( CFStringRef applicationID, CFStringRef userName, CFStringRef hostName );
Параметры
applicationID
ID приложения, чьи предпочтения для поиска. Принимает форму имени пакета Java,
com.foosoft
.userName
kCFPreferencesCurrentUser
искать домен текущего пользователя, иначеkCFPreferencesAnyUser
искать домен любого-пользователя.hostName
kCFPreferencesCurrentHost
искать домен текущего узла, иначеkCFPreferencesAnyHost
искать домен любого-узла.Возвращаемое значение
Список ключей. Владение соблюдает Создать Правило.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает словарь, содержащий предпочтительные значения для многократных ключей.
Объявление
Swift
func CFPreferencesCopyMultiple(_
keysToFetch
: CFArray!, _applicationID
: CFString!, _userName
: CFString!, _hostName
: CFString!) -> CFDictionary!Objective C
CFDictionaryRef CFPreferencesCopyMultiple ( CFArrayRef keysToFetch, CFStringRef applicationID, CFStringRef userName, CFStringRef hostName );
Параметры
keysToFetch
Массив предпочтения включает значения, из которых можно получить.
applicationID
ID приложения, предпочтения которого ищутся. Принимает форму имени пакета Java, такой как
com.foosoft
.userName
kCFPreferencesCurrentUser
искать домен текущего пользователя, иначеkCFPreferencesAnyUser
искать домен любого-пользователя.hostName
kCFPreferencesCurrentHost
искать домен текущего узла, иначеkCFPreferencesAnyHost
искать домен любого-узла.Возвращаемое значение
Словарь, содержащий предпочтение, оценивает за ключи, указанные
keysToFetch
для указанного домена. Если никакие значения не были расположены, возвращает пустой словарь. Владение соблюдает Создать Правило.Обсуждение
Обратите внимание на то, что значения, возвращенные из этой функции, являются неизменными даже при недавней установке значения с помощью непостоянного объекта.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает предпочтительное значение для данного домена.
Объявление
Swift
func CFPreferencesCopyValue(_
key
: CFString!, _applicationID
: CFString!, _userName
: CFString!, _hostName
: CFString!) -> CFPropertyList!Objective C
CFPropertyListRef CFPreferencesCopyValue ( CFStringRef key, CFStringRef applicationID, CFStringRef userName, CFStringRef hostName );
Параметры
key
Ключ Preferences для значения для получения.
applicationID
ID приложения, предпочтения которого ищутся. Принимает форму имени пакета Java, такой как
com.foosoft
.userName
kCFPreferencesCurrentUser
если искать домен текущего пользователя, иначеkCFPreferencesAnyUser
искать домен любого-пользователя.hostName
kCFPreferencesCurrentHost
если искать домен текущего узла, иначеkCFPreferencesAnyHost
искать домен любого-узла.Возвращаемое значение
Предпочтительные данные для указанного домена. Если никакое значение не было расположено, возвраты
NULL
. Владение соблюдает Создать Правило.Обсуждение
Эта функция является примитивом, получают механизм для высокоуровневой предпочтительной функции
CFPreferencesCopyAppValue
В отличие от высокоуровневой функции,CFPreferencesCopyValue
поиски только точный домен указаны. Не используйте эту функцию непосредственно, если у Вас нет потребности. Все параметры должны быть не -NULL
. Не используйте произвольного пользователя и имена хоста, вместо этого передавайте предопределенные доменные константы спецификатора.Обратите внимание на то, что значения, возвращенные из этой функции, являются неизменными даже при недавней установке значения с помощью непостоянного объекта.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Функция удобства, непосредственно получающая булево предпочтительное значение для указанного ключа.
Объявление
Swift
func CFPreferencesGetAppBooleanValue(_
key
: CFString!, _applicationID
: CFString!, _keyExistsAndHasValidFormat
: UnsafeMutablePointer<Boolean>) -> BooleanObjective C
Boolean CFPreferencesGetAppBooleanValue ( CFStringRef key, CFStringRef applicationID, Boolean *keyExistsAndHasValidFormat );
Параметры
key
Предпочтительный ключ, чье значение для получения. Ключ должен указать предпочтение, значение которого имеет тип
Boolean
.applicationID
Идентификатор приложения, предпочтения которого ищутся, обычно
kCFPreferencesCurrentApplication
. Не передаватьNULL
илиkCFPreferencesAnyApplication
. Принимает форму имени пакета Java, такой какcom.foosoft
.keyExistsAndHasValidFormat
По возврату,
true
если предпочтительное значение для указанного ключа было расположено и, как находили, имело типBoolean
, иначеfalse
.Возвращаемое значение
Предпочтительные данные для указанного ключа и приложения, или если никакое значение не было расположено,
false
.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Функция удобства, непосредственно получающая целочисленное предпочтительное значение для указанного ключа.
Объявление
Swift
func CFPreferencesGetAppIntegerValue(_
key
: CFString!, _applicationID
: CFString!, _keyExistsAndHasValidFormat
: UnsafeMutablePointer<Boolean>) -> CFIndexObjective C
CFIndex CFPreferencesGetAppIntegerValue ( CFStringRef key, CFStringRef applicationID, Boolean *keyExistsAndHasValidFormat );
Параметры
key
Предпочтительный ключ, значение которого Вы хотите получить. Ключ должен указать предпочтение, значение которого имеет тип
int
.applicationID
Идентификатор приложения, предпочтения которого Вы хотите искать, обычно
kCFPreferencesCurrentApplication
. Не передаватьNULL
илиkCFPreferencesAnyApplication
. Принимает форму имени пакета Java,com.foosoft
.keyExistsAndHasValidFormat
По возврату, указывает, было ли предпочтительное значение для указанного ключа расположено и, как находили, имело тип
int
.Возвращаемое значение
Предпочтительные данные для указанного ключа и приложения. Если никакое значение не было расположено,
0
возвращается.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Добавляет, изменяет или удаляет предпочтение.
Объявление
Swift
func CFPreferencesSetAppValue(_
key
: CFString!, _value
: CFPropertyList!, _applicationID
: CFString!)Objective C
void CFPreferencesSetAppValue ( CFStringRef key, CFPropertyListRef value, CFStringRef applicationID );
Параметры
key
Предпочтительный ключ, значение которого Вы хотите установить.
value
Значение для установки для указанного
key
и приложение. ПередачаNULL
удалить указанный ключ из предпочтений приложения.applicationID
ID приложения, предпочтения которого Вы хотите создать или изменить, обычно
kCFPreferencesCurrentApplication
. Не передаватьNULL
илиkCFPreferencesAnyApplication
. Принимает форму имени пакета Java,com.foosoft
.Обсуждение
Новые предпочтительные значения сохранены в стандартном предпочтительном расположении приложения,
~/Library/Preferences/
. Когда вызвано сkCFPreferencesCurrentApplication
, модификации выполняются в предпочтительном домене «Current User, Current Application, Any Host». Если необходимо создать предпочтения в некотором другом домене, используйте низкоуровневую функциюCFPreferencesSetValue
.Необходимо вызвать
CFPreferencesAppSynchronize
функционируйте для своих изменений, которые будут сохранены к постоянному хранению.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Функция удобства, позволяющая Вам устанавливать и удалять многократные предпочтительные значения.
Объявление
Swift
func CFPreferencesSetMultiple(_
keysToSet
: CFDictionary!, _keysToRemove
: CFArray!, _applicationID
: CFString!, _userName
: CFString!, _hostName
: CFString!)Objective C
void CFPreferencesSetMultiple ( CFDictionaryRef keysToSet, CFArrayRef keysToRemove, CFStringRef applicationID, CFStringRef userName, CFStringRef hostName );
Параметры
keysToSet
Словарь, содержащий пары ключ/значение для предпочтений для установки.
keysToRemove
Массив, содержащий список ключей для удаления.
applicationID
ID приложения, предпочтения которого Вы хотите изменить. Принимает форму имени пакета Java,
com.foosoft
.userName
kCFPreferencesCurrentUser
изменить предпочтения текущего пользователя, иначеkCFPreferencesAnyUser
изменить предпочтения всех пользователей.hostName
kCFPreferencesCurrentHost
изменить предпочтения текущего узла, иначеkCFPreferencesAnyHost
изменить предпочтения всех узлов.Обсуждение
Поведение не определено, если ключ находится в обоих
keysToSet
иkeysToRemove
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Добавляет, изменяет или удаляет предпочтительное значение для указанного домена.
Объявление
Swift
func CFPreferencesSetValue(_
key
: CFString!, _value
: CFPropertyList!, _applicationID
: CFString!, _userName
: CFString!, _hostName
: CFString!)Objective C
void CFPreferencesSetValue ( CFStringRef key, CFPropertyListRef value, CFStringRef applicationID, CFStringRef userName, CFStringRef hostName );
Параметры
key
Ключ Preferences для значения Вы хотите установить.
value
Значение для установки для
key
и приложение. ПередачаNULL
удалитьkey
от домена.applicationID
ID приложения, предпочтения которого Вы хотите изменить. Принимает форму имени пакета Java,
com.foosoft
.userName
kCFPreferencesCurrentUser
изменить предпочтения текущего пользователя, иначеkCFPreferencesAnyUser
изменить предпочтения всех пользователей.hostName
kCFPreferencesCurrentHost
изменить предпочтения текущего узла, иначеkCFPreferencesAnyHost
изменить предпочтения всех узлов.Обсуждение
Эта функция является примитивным механизмом набора для высокоуровневой предпочтительной функции
CFPreferencesSetAppValue
. Только точный указанный домен изменяется. Не используйте эту функцию непосредственно, если у Вас нет определенной потребности. Все параметры кромеvalue
должен быть не -NULL
. Не используйте произвольного пользователя и имена хоста, вместо этого передавайте предопределенные константы.Необходимо вызвать
CFPreferencesSynchronize
функционируйте для своих изменений, которые будут сохранены к постоянному хранению. Если у Вас есть полномочия пользователя root (или Административные привилегии до OS X v10.6), Обратите внимание на то, что можно только сохранить предпочтения “Любого Пользователя”.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Записи к постоянному хранению все незаконченные изменения в предпочтительных данных для приложения, и считывают последние предпочтительные данные из постоянного хранения.
Объявление
Swift
func CFPreferencesAppSynchronize(_
applicationID
: CFString!) -> BooleanObjective C
Boolean CFPreferencesAppSynchronize ( CFStringRef applicationID );
Параметры
applicationID
ID приложения, чьи предпочтения для записи в хранение, обычно
kCFPreferencesCurrentApplication
. Не передаватьNULL
илиkCFPreferencesAnyApplication
. Принимает форму имени пакета Java,com.foosoft
.Возвращаемое значение
true
если синхронизация была успешна, иначеfalse
.Обсуждение
Вызывание функции
CFPreferencesSetAppValue
не сам по себе достаточно для хранения предпочтений.CFPreferencesAppSynchronize
функционируйте пишет в постоянное хранение все незаконченные предпочтительные изменения для приложения. Обычно Вы вызвали бы эту функцию после множественных вызововCFPreferencesSetAppValue
. С другой стороны предпочтительные данные кэшируются после того, как они будут сначала считаны. Изменения, внесенные внешне, автоматически не включены.CFPreferencesAppSynchronize
функционируйте читает последние предпочтения из постоянного хранения.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Для указанного домена пишут все незаконченные изменения в предпочтительных данных к постоянному хранению и считывают последние предпочтительные данные из постоянного хранения.
Объявление
Swift
func CFPreferencesSynchronize(_
applicationID
: CFString!, _userName
: CFString!, _hostName
: CFString!) -> BooleanObjective C
Boolean CFPreferencesSynchronize ( CFStringRef applicationID, CFStringRef userName, CFStringRef hostName );
Параметры
applicationID
ID приложения, предпочтения которого Вы хотите изменить. Принимает форму имени пакета Java,
com.foosoft
.userName
kCFPreferencesCurrentUser
изменить предпочтения текущего пользователя, иначеkCFPreferencesAnyUser
изменить предпочтения всех пользователей.hostName
kCFPreferencesCurrentHost
искать домен текущего узла, иначеkCFPreferencesAnyHost
искать домен любого-узла.Возвращаемое значение
true
если синхронизация была успешна,false
если произошла ошибка.Обсуждение
Эта функция является примитивом, синхронизируют механизм для высокоуровневой предпочтительной функции
CFPreferencesAppSynchronize
; это пишет обновленные предпочтения в постоянное хранение и читает последние предпочтения из постоянного хранения. Только точный указанный домен изменяется. Обратите внимание на то, что для изменения “Любого Пользователя” предпочтения требует, чтобы полномочия пользователя root (или Административные привилегии до OS X v10.6) — видели Руководство по программированию Authorization Services.Не используйте эту функцию непосредственно, если у Вас нет определенной потребности. Все параметры должны быть не -
NULL
. Не используйте произвольного пользователя и имена хоста, вместо этого передавайте предопределенные константы.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Добавляют предпочтения комплекта к предпочтительной цепочке поиска приложения.
Объявление
Swift
func CFPreferencesAddSuitePreferencesToApp(_
applicationID
: CFString!, _suiteID
: CFString!)Objective C
void CFPreferencesAddSuitePreferencesToApp ( CFStringRef applicationID, CFStringRef suiteID );
Параметры
applicationID
ID приложения, к которому можно добавить предпочтения комплекта, обычно
kCFPreferencesCurrentApplication
. Не передаватьNULL
илиkCFPreferencesAnyApplication
. Принимает форму имени пакета Java,com.foosoft
.suiteID
ID предпочтений пакета приложений для добавления. Принимает форму имени пакета Java,
com.foosoft
.Обсуждение
Предпочтения комплекта позволяют Вам поддерживать ряд предпочтений, которые характерны для всех приложений в комплекте. Когда комплект добавляется к поисковой цепочке приложения, все домены, имеющие отношение к тому комплекту, вставляются в цепочку. Предпочтения комплекта добавляются между доменами «Current Application» и доменами «Any Application». Если Вы добавляете многократные предпочтения комплекта к одному приложению, порядок комплектов в поисковой цепочке недетерминирован. Можно переопределить предпочтение комплекта данного приложения путем определения того же предпочтения, вводят специализированные предпочтения.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Удаляет предпочтения комплекта из поисковой цепочки приложения.
Объявление
Swift
func CFPreferencesRemoveSuitePreferencesFromApp(_
applicationID
: CFString!, _suiteID
: CFString!)Objective C
void CFPreferencesRemoveSuitePreferencesFromApp ( CFStringRef applicationID, CFStringRef suiteID );
Параметры
applicationID
ID приложения, из которого можно удалить предпочтения комплекта, обычно
kCFPreferencesCurrentApplication
. Не передаватьNULL
илиkCFPreferencesAnyApplication
. Принимает форму имени пакета Java,com.foosoft
.suiteID
ID предпочтений пакета приложений для удаления. Принимает форму имени пакета Java,
com.foosoft
.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Определяет, был ли данный ключ наложен на пользователя.
Объявление
Swift
func CFPreferencesAppValueIsForced(_
key
: CFString!, _applicationID
: CFString!) -> BooleanObjective C
Boolean CFPreferencesAppValueIsForced ( CFStringRef key, CFStringRef applicationID );
Параметры
key
Ключ Вы запрашиваете.
applicationID
ID приложения, обычно
kCFPreferencesCurrentApplication
. Не передаватьNULL
илиkCFPreferencesAnyApplication
. Принимает форму имени пакета Java,com.foosoft
.Возвращаемое значение
true
если значение ключа не может быть изменено пользователем, иначеfalse
.Обсуждение
В случаях, где машины и/или пользователи находятся под некоторым управлением, необходимо использовать эту функцию, чтобы определить, запретить ли элементы UI, соответствующие тем предпочтительным ключам.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.2 и позже.
-
Конструкции и возвраты список всех приложений, имеющих предпочтения в пределах указанного пользователя и узла.
Объявление
Objective C
CFArrayRef CFPreferencesCopyApplicationList ( CFStringRef userName, CFStringRef hostName );
Параметры
userName
kCFPreferencesCurrentUser
искать домен текущего пользователя, иначеkCFPreferencesAnyUser
искать домен любого-пользователя.hostName
kCFPreferencesCurrentHost
искать домен текущего узла, иначеkCFPreferencesAnyHost
искать домен любого-узла.Возвращаемое значение
Список идентификаторов приложений. Владение соблюдает Создать Правило.
Оператор импорта
Objective C
@import CoreFoundation;
Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.9.
-
Ключи раньше указывали общие предпочтительные домены.
Объявление
Swift
let kCFPreferencesAnyApplication: CFString! let kCFPreferencesAnyHost: CFString! let kCFPreferencesAnyUser: CFString! let kCFPreferencesCurrentApplication: CFString! let kCFPreferencesCurrentHost: CFString! let kCFPreferencesCurrentUser: CFString!
Objective C
const CFStringRef kCFPreferencesAnyApplication; const CFStringRef kCFPreferencesAnyHost; const CFStringRef kCFPreferencesAnyUser; const CFStringRef kCFPreferencesCurrentApplication; const CFStringRef kCFPreferencesCurrentHost; const CFStringRef kCFPreferencesCurrentUser;
Константы
-
kCFPreferencesAnyApplication
kCFPreferencesAnyApplication
Указывает предпочтение, применяющееся к любому приложению.
Доступный в OS X v10.0 и позже.
-
kCFPreferencesAnyHost
kCFPreferencesAnyHost
Указывает предпочтение, применяющееся к любому узлу.
Эта опция не поддерживается.
Доступный в OS X v10.0 и позже.
-
kCFPreferencesAnyUser
kCFPreferencesAnyUser
Указывает предпочтение, применяющееся к любому пользователю.
Доступный в OS X v10.0 и позже.
-
kCFPreferencesCurrentApplication
kCFPreferencesCurrentApplication
Указывает предпочтение, применяющееся только к текущему приложению.
Доступный в OS X v10.0 и позже.
-
kCFPreferencesCurrentHost
kCFPreferencesCurrentHost
Указывает предпочтение, применяющееся только к текущему узлу.
Доступный в OS X v10.0 и позже.
-
kCFPreferencesCurrentUser
kCFPreferencesCurrentUser
Указывает предпочтение, применяющееся только к текущему пользователю.
Доступный в OS X v10.0 и позже.
Обсуждение
Не все комбинации приложения, узла и пользователя являются поддерживаемыми предпочтительными доменами. В частности,
kCFPreferencesAnyHost
не поддерживается ни в какой комбинации с другими опциями. -