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

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

Разработчик

Ссылка платформы CoreFoundation ссылка CFUserNotification

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

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

Ссылка CFUserNotification

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

Вы создаете пользовательское уведомление с CFUserNotificationCreate функция. Вы передаете в словаре, ключи которого описывают элементы для размещения в диалоговое окно. (См. Диалоговые Ключи Описания для списка ключей.) Ряд флагов, переданных функции, определяет, среди прочего, используются ли безопасные текстовые поля (такой что касается полей пароля), или переключатели, или флажки используются, и какая из этих кнопок проверяется по умолчанию. Можно также указать тайм-аут для диалогового окна, когда диалоговое окно отменяет себя, если пользователь не отвечает в выделенном периоде времени.

Пользовательское уведомление выводит на экран свое диалоговое окно, как только оно создается. Если какой-либо ответ требуется, он может ожидаться одним из двух способов: любой синхронно, с помощью CFUserNotificationReceiveResponse, или асинхронно, с помощью источника цикла выполнения, создаваемого с CFUserNotificationCreateRunLoopSource. CFUserNotificationReceiveResponse имеет параметр тайм-аута, определяющий, сколько времени он блокирует (нуль, означающий неопределенно), и его можно вызвать как много раз по мере необходимости, пока не наступает ответ. Если пользовательское уведомление еще не получило ответ, оно может быть обновлено с новой информацией, или оно может быть отменено. Пользовательские уведомления не могут быть снова использованы.

CFUserNotification обеспечивает две функции удобства, CFUserNotificationDisplayNotice и CFUserNotificationDisplayAlert, вывести на экран очень основные диалоговые окна, или не требующие никакого ответа от пользователя или требующие, чтобы только единственная кнопка была нажата, соответственно.

Функции

  • Отменяет пользовательское диалоговое окно уведомления.

    Объявление

    Swift

    func CFUserNotificationCancel(_ userNotification: CFUserNotification!) -> Int32

    Objective C

    SInt32 CFUserNotificationCancel ( CFUserNotificationRef userNotification );

    Параметры

    userNotification

    Пользовательское уведомление отмене.

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

    0 если отмена была успешна; не -0 значение иначе.

    Обсуждение

    Необходимо отменить пользовательское уведомление, если Вы хотите удалить его диалоговое окно из экрана, прежде чем пользователь отклонит его. Не достаточно просто выпустить объект.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвращается флаг раньше устанавливал или тестировал состояние флажка.

    Объявление

    Swift

    func CFUserNotificationCheckBoxChecked(_ idx: CFIndex) -> CFOptionFlags

    Objective C

    CFOptionFlags CFUserNotificationCheckBoxChecked ( CFIndex i );

    Параметры

    idx

    Индекс флажка, чтобы установить или протестировать. Индекс соответствует порядку, в котором заголовки флажка перечислены в kCFUserNotificationCheckBoxTitlesKey массив пользовательского словаря описания уведомления. idx должен быть в диапазоне 0 к 7.

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

    Флаг, который может использоваться любой для установки состояния флажка при создании пользовательского уведомления с CFUserNotificationCreate или протестировать состояние флажка возвратило в пользователе флаги ответа уведомления, такой как от CFUserNotificationReceiveResponse, когда отклонено диалоговое окно уведомления.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Создает объект CFUserNotification и выводит на экран его диалоговое окно уведомления на экране.

    Объявление

    Swift

    func CFUserNotificationCreate(_ allocator: CFAllocator!, _ timeout: CFTimeInterval, _ flags: CFOptionFlags, _ error: UnsafeMutablePointer<Int32>, _ dictionary: CFDictionary!) -> CFUserNotification!

    Objective C

    CFUserNotificationRef CFUserNotificationCreate ( CFAllocatorRef allocator, CFTimeInterval timeout, CFOptionFlags flags, SInt32 *error, CFDictionaryRef dictionary );

    Параметры

    allocator

    Средство выделения для использования для выделения памяти для нового объекта. Передача NULL или kCFAllocatorDefault использовать текущее средство выделения по умолчанию.

    timeout

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

    flags

    Ряд флагов, описывающих тип уведомления дисплею. Эти флаги указывают предупредительный уровень для уведомления (см. Предупредительные Уровни), определите или переключатели, или флажки должны использоваться (см. Флаги Кнопки), укажите, который, если таковые имеются, этих кнопок проверяются по умолчанию (см. CFUserNotificationCheckBoxChecked), укажите, должно ли какое-либо из текстовых полей быть безопасными текстовыми полями (см. CFUserNotificationSecureTextField), и определите, какой элемент всплывающего меню, если есть должен быть выбран по умолчанию (см. CFUserNotificationPopUpSelection). Объедините эти флаги вместе путем выполнения работы битового «ИЛИ» со всеми отдельными флагами.

    error

    По возврату содержит целочисленный код ошибки. Если 0, пользовательское уведомление было успешно создано и выведено на экран.

    dictionary

    Описание элементов для отображения в диалоговом окне уведомления. Возможные ключи перечислены в Диалоговых Ключах Описания. Словарь должен содержать значение для ключа kCFUserNotificationAlertHeaderKey, но другие ключи являются дополнительными.

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

    Новый объект CFUserNotification. Владение соблюдает Создать Правило.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Создает источник цикла выполнения для пользовательского уведомления.

    Объявление

    Swift

    func CFUserNotificationCreateRunLoopSource(_ allocator: CFAllocator!, _ userNotification: CFUserNotification!, _ callout: CFUserNotificationCallBack, _ order: CFIndex) -> CFRunLoopSource!

    Objective C

    CFRunLoopSourceRef CFUserNotificationCreateRunLoopSource ( CFAllocatorRef allocator, CFUserNotificationRef userNotification, CFUserNotificationCallBack callout, CFIndex order );

    Параметры

    allocator

    Средство выделения для использования для выделения памяти для нового объекта. Передача NULL или kCFAllocatorDefault использовать текущее средство выделения по умолчанию.

    userNotification

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

    callout

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

    order

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

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

    Новый объект CFRunLoopSource. Владение соблюдает Создать Правило.

    Обсуждение

    Источник цикла выполнения должен быть добавлен к циклу выполнения, прежде чем он сможет запустить и вызвать свою функцию обратного вызова. Для добавления источника к циклу выполнения использовать CFRunLoopAddSource.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

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

    Объявление

    Swift

    func CFUserNotificationDisplayAlert(_ timeout: CFTimeInterval, _ flags: CFOptionFlags, _ iconURL: CFURL!, _ soundURL: CFURL!, _ localizationURL: CFURL!, _ alertHeader: CFString!, _ alertMessage: CFString!, _ defaultButtonTitle: CFString!, _ alternateButtonTitle: CFString!, _ otherButtonTitle: CFString!, _ responseFlags: UnsafeMutablePointer<CFOptionFlags>) -> Int32

    Objective C

    SInt32 CFUserNotificationDisplayAlert ( CFTimeInterval timeout, CFOptionFlags flags, CFURLRef iconURL, CFURLRef soundURL, CFURLRef localizationURL, CFStringRef alertHeader, CFStringRef alertMessage, CFStringRef defaultButtonTitle, CFStringRef alternateButtonTitle, CFStringRef otherButtonTitle, CFOptionFlags *responseFlags );

    Параметры

    timeout

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

    flags

    Ряд флагов, описывающих тип диалогового окна уведомления для отображения. Значение является обычно просто предупредительным уровнем от Предупредительных Уровней. Если Вы не хотите выведенную на экран кнопку по умолчанию, выполните работу битового «ИЛИ» с предупредительным уровнем и константой kCFUserNotificationNoDefaultButtonFlag.

    iconURL

    Файл URL, указывающий на значок для отображения в диалоговом окне. Если NULL, значок по умолчанию используется на основе предупредительного уровня уведомления, указанного в flags.

    soundURL

    Не используемый.

    localizationURL

    URL файла, указывающий на пакет, содержащий локализованные версии строк, выведенных на экран в диалоговом окне. Может быть NULL.

    alertHeader

    Заголовок диалогового окна уведомления. Не может быть NULL.

    alertMessage

    Строка сообщения для отображения в диалоговом окне. Может быть NULL.

    defaultButtonTitle

    Заголовок кнопки по умолчанию. Если NULL, строка OK используется.

    alternateButtonTitle

    Заголовок дополнительной альтернативной кнопки. Может быть NULL.

    otherButtonTitle

    Заголовок дополнительной третьей кнопки. Может быть NULL.

    responseFlags

    По возврату, содержит идентификацию флагов, как было отклонено уведомление. Посмотрите Коды Ответа для подробных данных.

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

    0 если отмена была успешна; не -0 значение иначе.

    Обсуждение

    Это функциональные блоки выполнение текущего потока до диалогового окна отклонено, или пользователем или путем таймаута.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

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

    Объявление

    Swift

    func CFUserNotificationDisplayNotice(_ timeout: CFTimeInterval, _ flags: CFOptionFlags, _ iconURL: CFURL!, _ soundURL: CFURL!, _ localizationURL: CFURL!, _ alertHeader: CFString!, _ alertMessage: CFString!, _ defaultButtonTitle: CFString!) -> Int32

    Objective C

    SInt32 CFUserNotificationDisplayNotice ( CFTimeInterval timeout, CFOptionFlags flags, CFURLRef iconURL, CFURLRef soundURL, CFURLRef localizationURL, CFStringRef alertHeader, CFStringRef alertMessage, CFStringRef defaultButtonTitle );

    Параметры

    timeout

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

    flags

    Ряд флагов, описывающих тип диалогового окна уведомления для отображения. Значение является обычно просто предупредительным уровнем от Предупредительных Уровней. Если Вы не хотите выведенную на экран кнопку по умолчанию, выполните работу битового «ИЛИ» с предупредительным уровнем и константой kCFUserNotificationNoDefaultButtonFlag.

    iconURL

    Файл URL, указывающий на значок для отображения в диалоговом окне. Если NULL, значок по умолчанию используется на основе предупредительного уровня уведомления, указанного в flags.

    soundURL

    Не используемый.

    localizationURL

    URL файла, указывающий на пакет, содержащий локализованные версии строк, выведенных на экран в диалоговом окне. Может быть NULL.

    alertHeader

    Заголовок диалогового окна уведомления. Не может быть NULL.

    alertMessage

    Строка сообщения для отображения в диалоговом окне. Может быть NULL.

    defaultButtonTitle

    Заголовок кнопки по умолчанию. Если NULL, строка OK используется.

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

    0 если отмена была успешна; не -0 значение иначе.

    Обсуждение

    Эта функция сразу возвращается. Это не ожидает пользовательского ответа после отображения диалогового окна.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

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

    Объявление

    Swift

    func CFUserNotificationGetResponseDictionary(_ userNotification: CFUserNotification!) -> CFDictionary!

    Objective C

    CFDictionaryRef CFUserNotificationGetResponseDictionary ( CFUserNotificationRef userNotification );

    Параметры

    userNotification

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

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

    Словарь, содержащий значения всех текстовых полей в userNotification когда это было отклонено. Значения находятся в массиве, сохраненном ключом kCFUserNotificationTextFieldValuesKey. Владение соблюдает Получить Правило.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Извлекает значения текстовых полей от отклоненного диалогового окна уведомления.

    Объявление

    Swift

    func CFUserNotificationGetResponseValue(_ userNotification: CFUserNotification!, _ key: CFString!, _ idx: CFIndex) -> CFString!

    Objective C

    CFStringRef CFUserNotificationGetResponseValue ( CFUserNotificationRef userNotification, CFStringRef key, CFIndex idx );

    Параметры

    userNotification

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

    key

    Ключ словаря идентификация текстовых полей для использования. В настоящее время, только kCFUserNotificationTextFieldValuesKey поддерживается.

    idx

    Индекс текстового поля оценивает возврату. Индекс соответствует порядку, в котором текстовые поля перечислены в kCFUserNotificationTextFieldTitlesKey массив в пользовательском словаре описания уведомления.

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

    Значение текстового поля, идентифицированного key и idx. Владение соблюдает Получить Правило.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвращает идентификатор типа для CFUserNotification непрозрачный тип.

    Объявление

    Swift

    func CFUserNotificationGetTypeID() -> CFTypeID

    Objective C

    CFTypeID CFUserNotificationGetTypeID ( void );

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

    Идентификатор типа для CFUserNotification непрозрачный тип.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвращается флаг раньше устанавливал выбранный элемент всплывающего меню.

    Объявление

    Swift

    func CFUserNotificationPopUpSelection(_ idx: CFIndex) -> CFOptionFlags

    Objective C

    CFOptionFlags CFUserNotificationPopUpSelection ( CFIndex n );

    Параметры

    idx

    Индекс элемента всплывающего меню для выбора. Индекс соответствует порядку, в котором элементы всплывающего меню перечислены в kCFUserNotificationPopUpTitlesKey массив пользовательского словаря описания уведомления. idx должен быть в диапазоне 0 к 255.

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

    Флаг, который может использоваться для установки выбранного элемента всплывающего меню при создании пользовательского уведомления с CFUserNotificationCreate.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Ожидает пользователя для ответа на уведомление или уведомления для таймаута.

    Объявление

    Swift

    func CFUserNotificationReceiveResponse(_ userNotification: CFUserNotification!, _ timeout: CFTimeInterval, _ responseFlags: UnsafeMutablePointer<CFOptionFlags>) -> Int32

    Objective C

    SInt32 CFUserNotificationReceiveResponse ( CFUserNotificationRef userNotification, CFTimeInterval timeout, CFOptionFlags *responseFlags );

    Параметры

    userNotification

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

    timeout

    Количество времени для ожидания пользователя для ответа на userNotification или для уведомления для таймаута. Если ни один не происходит прежде timeout передачи, эта функция возвращается не -0 значение. Если timeout 0, функциональные блоки до пользовательского уведомления отклонены.

    responseFlags

    По возврату, содержит идентификацию флагов, как уведомление было отклонено, состояние любых флажков и выбранный элемент всплывающего меню. Биты 0-1 из значения содержат идентификатор для кнопки, нажатой пользователем (см. Коды Ответа). Извлеките идентификатор путем выполнения ПОРАЗРЯДНОЙ ОПЕРАЦИИ И с 0x3. Биты 8-15 из responseFlags содержите состояние до 8 флажков или переключателей, если существующий. Извлеките флаги путем выполнения ПОРАЗРЯДНЫХ ОПЕРАЦИЙ И с возвращаемым значением CFUserNotificationCheckBoxChecked. Биты 24-31 содержат индекс элемента, выбранного во всплывающем меню, если существующий. Извлеките индекс путем выполнения 24-разрядного сдвига вправо: responseFlags >> 24.

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

    0 если отмена была успешна; не -0 значение иначе.

    Обсуждение

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

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

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвращается флаг раньше устанавливал безопасное состояние текстового поля.

    Объявление

    Swift

    func CFUserNotificationSecureTextField(_ idx: CFIndex) -> CFOptionFlags

    Objective C

    CFOptionFlags CFUserNotificationSecureTextField ( CFIndex i );

    Параметры

    idx

    Индекс текстового поля для создания безопасным. Индекс соответствует порядку, в котором текстовые поля перечислены в kCFUserNotificationTextFieldTitlesKey массив пользовательского словаря описания уведомления. idx должен быть в диапазоне от 0 до 7.

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

    Флаг, который может использоваться для установки безопасного состояния текстового поля при создании пользовательского уведомления с CFUserNotificationCreate.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

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

    Объявление

    Swift

    func CFUserNotificationUpdate(_ userNotification: CFUserNotification!, _ timeout: CFTimeInterval, _ flags: CFOptionFlags, _ dictionary: CFDictionary!) -> Int32

    Objective C

    SInt32 CFUserNotificationUpdate ( CFUserNotificationRef userNotification, CFTimeInterval timeout, CFOptionFlags flags, CFDictionaryRef dictionary );

    Параметры

    userNotification

    Пользовательское уведомление обновлению.

    timeout

    Новый тайм-аут оценивает за диалоговое окно.

    flags

    Ряд флагов, описывающих тип уведомления дисплею. Посмотрите CFUserNotificationCreate для подробных данных.

    dictionary

    Описание элементов для отображения в диалоговом окне уведомления. Возможные ключи перечислены в Диалоговых Ключах Описания.

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

    0 если отмена была успешна; не -0 значение иначе.

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

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

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

    Объявление

    Swift

    typealias CFUserNotificationCallBack = CFunctionPointer<((CFUserNotification!, CFOptionFlags) -> Void)>

    Objective C

    typedef void (*CFUserNotificationCallBack) ( CFUserNotificationRef userNotification, CFOptionFlags responseFlags );

    Параметры

    userNotification

    Отклоненное пользовательское уведомление.

    responseFlags

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

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

Типы данных

Прочие условия

  • Ссылка на пользовательский объект уведомления.

    Объявление

    Swift

    typealias CFUserNotificationRef = CFUserNotification

    Objective C

    typedef struct __CFUserNotification *CFUserNotificationRef;

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

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

Константы

Прочие условия

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

    Объявление

    Swift

    var kCFUserNotificationStopAlertLevel: Int { get } var kCFUserNotificationNoteAlertLevel: Int { get } var kCFUserNotificationCautionAlertLevel: Int { get } var kCFUserNotificationPlainAlertLevel: Int { get }

    Objective C

    enum { kCFUserNotificationStopAlertLevel = 0, kCFUserNotificationNoteAlertLevel = 1, kCFUserNotificationCautionAlertLevel = 2, kCFUserNotificationPlainAlertLevel = 3 };

    Константы

    • kCFUserNotificationStopAlertLevel

      kCFUserNotificationStopAlertLevel

      Уведомление очень серьезно.

      Значок остановки выведен на экран по умолчанию.

      Доступный в OS X v10.0 и позже.

    • kCFUserNotificationNoteAlertLevel

      kCFUserNotificationNoteAlertLevel

      Уведомление не очень серьезно.

      Значок примечания выведен на экран по умолчанию.

      Доступный в OS X v10.0 и позже.

    • kCFUserNotificationCautionAlertLevel

      kCFUserNotificationCautionAlertLevel

      Уведомление несколько серьезно.

      Значок предупреждения выведен на экран по умолчанию.

      Доступный в OS X v10.0 и позже.

    • kCFUserNotificationPlainAlertLevel

      kCFUserNotificationPlainAlertLevel

      Уведомление не серьезно.

      Информационный значок выведен на экран по умолчанию.

      Доступный в OS X v10.0 и позже.

    Обсуждение

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

  • Коды ответа, идентифицирующие кнопку, нажатую для отклонения диалогового окна уведомления.

    Объявление

    Swift

    var kCFUserNotificationDefaultResponse: Int { get } var kCFUserNotificationAlternateResponse: Int { get } var kCFUserNotificationOtherResponse: Int { get } var kCFUserNotificationCancelResponse: Int { get }

    Objective C

    enum { kCFUserNotificationDefaultResponse = 0, kCFUserNotificationAlternateResponse = 1, kCFUserNotificationOtherResponse = 2, kCFUserNotificationCancelResponse = 3 };

    Константы

    • kCFUserNotificationDefaultResponse

      kCFUserNotificationDefaultResponse

      Кнопка по умолчанию была нажата.

      Доступный в OS X v10.0 и позже.

    • kCFUserNotificationAlternateResponse

      kCFUserNotificationAlternateResponse

      Альтернативная кнопка была нажата.

      Доступный в OS X v10.0 и позже.

    • kCFUserNotificationOtherResponse

      kCFUserNotificationOtherResponse

      Третья кнопка была нажата.

      Доступный в OS X v10.0 и позже.

    • kCFUserNotificationCancelResponse

      kCFUserNotificationCancelResponse

      Никакая кнопка не была нажата, и уведомление приведено к таймауту.

      Доступный в OS X v10.0 и позже.

    Обсуждение

    Извлечь это значение из флагов ответа отклоненного уведомления (такой, как возвращено CFUserNotificationReceiveResponse), необходимо выполнить ПОРАЗРЯДНУЮ ОПЕРАЦИЮ И между возвращенными флагами ответа и 0x3 прежде, чем сравнить значение с этими константами.

  • Флаги, изменяющие дисплей кнопок в пользовательском диалоговом окне уведомления.

    Объявление

    Swift

    var kCFUserNotificationNoDefaultButtonFlag: Int { get } var kCFUserNotificationUseRadioButtonsFlag: Int { get }

    Objective C

    enum { kCFUserNotificationNoDefaultButtonFlag = (1 << 5), kCFUserNotificationUseRadioButtonsFlag = (1 << 6) };

    Константы

    • kCFUserNotificationNoDefaultButtonFlag

      kCFUserNotificationNoDefaultButtonFlag

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

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

      Доступный в OS X v10.0 и позже.

    • kCFUserNotificationUseRadioButtonsFlag

      kCFUserNotificationUseRadioButtonsFlag

      Создает группу переключателей вместо флажков для элементов в kCFUserNotificationCheckBoxTitlesKey массив в пользовательском словаре описания уведомления.

      Доступный в OS X v10.0 и позже.

    Обсуждение

    Вы указываете эти флаги при создании пользовательского уведомления с CFUserNotificationCreate.

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

    Объявление

    Swift

    let kCFUserNotificationIconURLKey: CFString! let kCFUserNotificationSoundURLKey: CFString! let kCFUserNotificationLocalizationURLKey: CFString! let kCFUserNotificationAlertHeaderKey: CFString! let kCFUserNotificationAlertMessageKey: CFString! let kCFUserNotificationDefaultButtonTitleKey: CFString! let kCFUserNotificationAlternateButtonTitleKey: CFString! let kCFUserNotificationOtherButtonTitleKey: CFString! let kCFUserNotificationProgressIndicatorValueKey: CFString! let kCFUserNotificationPopUpTitlesKey: CFString! let kCFUserNotificationTextFieldTitlesKey: CFString! let kCFUserNotificationCheckBoxTitlesKey: CFString! let kCFUserNotificationTextFieldValuesKey: CFString! let kCFUserNotificationPopUpSelectionKey: CFString!

    Objective C

    const CFStringRef kCFUserNotificationIconURLKey; const CFStringRef kCFUserNotificationSoundURLKey; const CFStringRef kCFUserNotificationLocalizationURLKey; const CFStringRef kCFUserNotificationAlertHeaderKey; const CFStringRef kCFUserNotificationAlertMessageKey; const CFStringRef kCFUserNotificationDefaultButtonTitleKey; const CFStringRef kCFUserNotificationAlternateButtonTitleKey; const CFStringRef kCFUserNotificationOtherButtonTitleKey; const CFStringRef kCFUserNotificationProgressIndicatorValueKey; const CFStringRef kCFUserNotificationPopUpTitlesKey; const CFStringRef kCFUserNotificationTextFieldTitlesKey; const CFStringRef kCFUserNotificationCheckBoxTitlesKey; const CFStringRef kCFUserNotificationTextFieldValuesKey; const CFStringRef kCFUserNotificationPopUpSelectionKey

    Константы

    • kCFUserNotificationIconURLKey

      kCFUserNotificationIconURLKey

      Файл URL, указывающий на значок для отображения в диалоговом окне.

      Если отсутствующий, значок по умолчанию базировался начеку, уровень используется.

      Доступный в OS X v10.0 и позже.

    • kCFUserNotificationSoundURLKey

      kCFUserNotificationSoundURLKey

      URL файла, указывающий на звук, который будет играться, когда появится предупреждение.

      Доступный в OS X v10.0 и позже.

    • kCFUserNotificationLocalizationURLKey

      kCFUserNotificationLocalizationURLKey

      URL файла, указывающий на пакет, содержащий локализованные версии строк, выведенных на экран в диалоговом окне.

      Доступный в OS X v10.0 и позже.

    • kCFUserNotificationAlertHeaderKey

      kCFUserNotificationAlertHeaderKey

      Заголовок диалогового окна уведомления.

      Этот ключ требуется.

      Доступный в OS X v10.0 и позже.

    • kCFUserNotificationAlertMessageKey

      kCFUserNotificationAlertMessageKey

      Строка сообщения для отображения в диалоговом окне.

      Доступный в OS X v10.0 и позже.

    • kCFUserNotificationDefaultButtonTitleKey

      kCFUserNotificationDefaultButtonTitleKey

      Заголовок кнопки по умолчанию.

      Если отсутствующий и диалоговое окно не создается с kCFUserNotificationNoDefaultButtonFlag флаг, заголовок кнопки по умолчанию OK используется.

      Доступный в OS X v10.0 и позже.

    • kCFUserNotificationAlternateButtonTitleKey

      kCFUserNotificationAlternateButtonTitleKey

      Заголовок дополнительной альтернативной кнопки.

      Доступный в OS X v10.0 и позже.

    • kCFUserNotificationOtherButtonTitleKey

      kCFUserNotificationOtherButtonTitleKey

      Заголовок дополнительной третьей кнопки.

      Доступный в OS X v10.0 и позже.

    • kCFUserNotificationProgressIndicatorValueKey

      kCFUserNotificationProgressIndicatorValueKey

      Значение для указания прогресса работы.

      Значение является числом между 0 и 1, для «определенного» индикатора хода выполнения или булевской переменной для «неопределенного» индикатора хода выполнения.

      Доступный в OS X v10.0 и позже.

    • kCFUserNotificationPopUpTitlesKey

      kCFUserNotificationPopUpTitlesKey

      Список строк для отображения во всплывающем меню.

      Массив не может иметь больше чем 256 элементов.

      Доступный в OS X v10.0 и позже.

    • kCFUserNotificationTextFieldTitlesKey

      kCFUserNotificationTextFieldTitlesKey

      Список заголовков для всех текстовых полей для отображения.

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

      Доступный в OS X v10.0 и позже.

    • kCFUserNotificationCheckBoxTitlesKey

      kCFUserNotificationCheckBoxTitlesKey

      Список заголовков для всех флажков или переключателей для отображения.

      Массив не может иметь больше чем 8 элементов. Если только один флажок должен быть выведен на экран, можно передать его строку заголовка непосредственно, не помещая его в массив сначала.

      Доступный в OS X v10.0 и позже.

    • kCFUserNotificationTextFieldValuesKey

      kCFUserNotificationTextFieldValuesKey

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

      Доступный в OS X v10.0 и позже.

    • kCFUserNotificationPopUpSelectionKey

      kCFUserNotificationPopUpSelectionKey

      Элемент, выбранный из всплывающего меню.

      Доступный в OS X v10.3 и позже.

    Обсуждение

    При создании пользовательского уведомления с CFUserNotificationCreate, словарь описания должен иметь значение для kCFUserNotificationAlertHeaderKey. Все другие ключи являются дополнительными.

    Ключи заголовка кнопки должны быть поданы справа налево порядок — поэтому необходимо использовать kCFUserNotificationDefaultButtonTitleKey постоянный для самой правой кнопки, даже если это - концептуально не кнопка «по умолчанию» (например, если Вы хотите единственную кнопку «Cancel», которая не должна иметь цвета, не должен пульсировать и не должен иметь возврата для ключевого эквивалента). Если, однако, Вы устанавливаете kCFUserNotificationNoDefaultButtonFlag, самая правая кнопка не ведет себя как кнопка по умолчанию (несмотря на то, что это все еще будет кнопка «по умолчанию» в смысле использования kCFUserNotificationDefaultButtonTitleKey и kCFUserNotificationDefaultResponse). Следующий фрагмент кода показывает, как можно создать уведомление, содержащее единственную кнопку «Cancel», не ведущую себя как кнопка по умолчанию.

    • const void* keys[] = {kCFUserNotificationAlertHeaderKey,
    •                       kCFUserNotificationProgressIndicatorValueKey,
    •                       kCFUserNotificationDefaultButtonTitleKey};
    • const void* values[] = {CFSTR("Progress"),
    •                         kCFBooleanTrue,
    •                         CFSTR("Cancel")};
    • CFDictionaryRef parameters = CFDictionaryCreate(0, keys, values,
    •         sizeof(keys)/sizeof(*keys), &kCFTypeDictionaryKeyCallBacks,
    •         &kCFTypeDictionaryValueCallBacks);
    • SInt32 err = 0;
    • CFUserNotificationCreate(kCFAllocatorDefault, 0,
    •         kCFUserNotificationPlainAlertLevel | kCFUserNotificationNoDefaultButtonFlag,
    •         &err, parameters);

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