Ссылка activity.h
Включенные заголовки
<xpc/base.h>
-
Возвращает словарь XPC, описывающий критерии выполнения действия. Это возвратит NULL в случаях, где действие уже завершилось, например, при регистрации к событию, закончившемуся и не перепланировавшемуся.
Объявление
Swift
func xpc_activity_copy_criteria(_
activity
: xpc_activity_t!) -> xpc_object_t!Objective C
xpc_object_t xpc_activity_copy_criteria ( xpc_activity_t activity );
Оператор импорта
Objective C
@import XPC;
Swift
import XPC
Доступность
Доступный в OS X v10.9 и позже.
-
Возвращает текущее состояние действия.
Объявление
Swift
func xpc_activity_get_state(_
activity
: xpc_activity_t!) -> xpc_activity_state_tObjective C
xpc_activity_state_t xpc_activity_get_state ( xpc_activity_t activity );
Оператор импорта
Objective C
@import XPC;
Swift
import XPC
Доступность
Доступный в OS X v10.9 и позже.
-
Регистрирует действие в системе.
Объявление
Swift
func xpc_activity_register(_
identifier
: UnsafePointer<Int8>, _criteria
: xpc_object_t!, _handler
: xpc_activity_handler_t!)Objective C
void xpc_activity_register ( const char *identifier, xpc_object_t criteria, xpc_activity_handler_t handler );
Параметры
identifier
Уникальный идентификатор для действия. Каждое приложение имеет свое собственное пространство имен.
criteria
Словарь критериев действия.
handler
Блок обработчика, который вызовут, когда действие изменяет состояние на одно из следующих состояний: - (дополнительный) XPC_ACTIVITY_STATE_CHECK_IN - XPC_ACTIVITY_STATE_RUN
Блок обработчика никогда не вызывается повторно используемо. Это будет вызвано на очередь отгрузки с надлежащим приоритетом выполнить действие.
Обсуждение
Регистрирует новое действие в системе. Критерии действия описаны словарем, переданным этой функции. Если действие с тем же идентификатором уже существует, критерии обеспечили, переопределяют существующие критерии, если не используется специальный словарь XPC_ACTIVITY_CHECK_IN. Словарь XPC_ACTIVITY_CHECK_IN дает системе команду сначала искать существующее действие, не изменяя его критерии. Как только существующее действие найдено (или новый создается с пустым множеством критериев), обработчик вызовут с объектом действия в состоянии XPC_ACTIVITY_STATE_CHECK_IN.
Оператор импорта
Objective C
@import XPC;
Swift
import XPC
Доступность
Доступный в OS X v10.9 и позже.
-
Изменяет критерии выполнения действия.
Объявление
Swift
func xpc_activity_set_criteria(_
activity
: xpc_activity_t!, _criteria
: xpc_object_t!)Objective C
void xpc_activity_set_criteria ( xpc_activity_t activity, xpc_object_t criteria );
Оператор импорта
Objective C
@import XPC;
Swift
import XPC
Доступность
Доступный в OS X v10.9 и позже.
-
Обновляет текущее состояние действия.
Объявление
Swift
func xpc_activity_set_state(_
activity
: xpc_activity_t!, _state
: xpc_activity_state_t) -> BoolObjective C
bool xpc_activity_set_state ( xpc_activity_t activity, xpc_activity_state_t state );
Возвращаемое значение
Если состояние было успешно обновлено, возвращает true; иначе, если требуемое изменение состояния не допустимо, возвращает false.
Оператор импорта
Objective C
@import XPC;
Swift
import XPC
Доступность
Доступный в OS X v10.9 и позже.
-
Тест, должно ли быть задержано действие.
Объявление
Swift
func xpc_activity_should_defer(_
activity
: xpc_activity_t!) -> BoolObjective C
bool xpc_activity_should_defer ( xpc_activity_t activity );
Возвращаемое значение
Если действие должно быть задержано, возвращает true.
Обсуждение
Эта функция может использоваться, чтобы протестировать, удовлетворены ли все еще критерии продолжительного действия. В противном случае система указывает, что приложение должно задержать действие. Приложение может подтвердить отсрочку путем вызова xpc_activity_set_state () с XPC_ACTIVITY_STATE_DEFER. Когда критерии будут еще раз удовлетворены, после того, как задержанный, система поместит действие назад в Состояние ожидания и повторно вызовет блок обработчика при первой возможности.
Оператор импорта
Objective C
@import XPC;
Swift
import XPC
Доступность
Доступный в OS X v10.9 и позже.
-
Не регистрирует действие, найденное его идентификатором.
Объявление
Swift
func xpc_activity_unregister(_
identifier
: UnsafePointer<Int8>)Objective C
void xpc_activity_unregister ( const char *identifier );
Параметры
identifier
Идентификатор действия, чтобы не зарегистрироваться.
Обсуждение
Динамично зарегистрированное действие будет удалено в ответ на этот вызов. Если какие-либо модификации были сделаны, статически зарегистрированное действие (от launchd списка свойств) вернется к его исходным критериям.
Нерегистрация действия не имеет никакого эффекта ни на какие выдающиеся объекты xpc_activity_t или любого в настоящее время выполняющегося xpc_activity_handler_t блоки; однако, никакие новые блочные вызовы обработчика не будут сделаны после того, как это будет не зарегистрировано.
Оператор импорта
Objective C
@import XPC;
Swift
import XPC
Доступность
Доступный в OS X v10.9 и позже.
-
Объект действия XPC.
Объявление
Objective C
XPC_DECL( xpc_activity);
Обсуждение
Этот объект представляет ряд критериев выполнения и текущего режима выполнения для фонового действия в системе. Как только действие регистрируется, система оценит свои критерии, чтобы определить, приемлемо ли действие работать при условиях существующей системы. Когда действие станет имеющим право работать, его режим выполнения будет обновлен, и вызов его блока обработчика будет сделан.
-
Блок, который вызывают, когда действие XPC становится имеющим право работать.
Объявление
Swift
typealias xpc_activity_handler_t = (xpc_activity_t!) -> Void
Objective C
typedef void (^xpc_activity_handler_t)( xpc_activity_t activity);
Оператор импорта
Objective C
@import XPC;
Swift
import XPC
Доступность
Доступный в OS X v10.9 и позже.
Посмотрите раздел Overview выше для документации уровня заголовка.
-
Объявление
Objective C
#define XPC_TYPE_ACTIVITY (&_xpc_type_activity)
Константы
-
Объявление
Swift
var XPC_ACTIVITY_ALLOW_BATTERY: UnsafePointer<Int8> let XPC_ACTIVITY_CHECK_IN: xpc_object_t! var XPC_ACTIVITY_DELAY: UnsafePointer<Int8> var XPC_ACTIVITY_GRACE_PERIOD: UnsafePointer<Int8> var XPC_ACTIVITY_INTERVAL: UnsafePointer<Int8> var XPC_ACTIVITY_PRIORITY: UnsafePointer<Int8> var XPC_ACTIVITY_PRIORITY_MAINTENANCE: UnsafePointer<Int8> var XPC_ACTIVITY_PRIORITY_UTILITY: UnsafePointer<Int8> var XPC_ACTIVITY_REPEATING: UnsafePointer<Int8> var XPC_ACTIVITY_REQUIRE_BATTERY_LEVEL: UnsafePointer<Int8> var XPC_ACTIVITY_REQUIRE_HDD_SPINNING: UnsafePointer<Int8> var XPC_ACTIVITY_REQUIRE_SCREEN_SLEEP: UnsafePointer<Int8>
Objective C
extern const char *XPC_ACTIVITY_ALLOW_BATTERY; extern const xpc_object_t XPC_ACTIVITY_CHECK_IN; extern const char *XPC_ACTIVITY_DELAY; extern const char *XPC_ACTIVITY_GRACE_PERIOD; extern const char *XPC_ACTIVITY_INTERVAL; extern const char *XPC_ACTIVITY_PRIORITY; extern const char *XPC_ACTIVITY_PRIORITY_MAINTENANCE; extern const char *XPC_ACTIVITY_PRIORITY_UTILITY; extern const char *XPC_ACTIVITY_REPEATING; extern const char *XPC_ACTIVITY_REQUIRE_BATTERY_LEVEL; // int (%) extern const char *XPC_ACTIVITY_REQUIRE_HDD_SPINNING; // bool extern const char *XPC_ACTIVITY_REQUIRE_SCREEN_SLEEP; // bool
Константы
-
XPC_ACTIVITY_ALLOW_BATTERY
XPC_ACTIVITY_ALLOW_BATTERY
Булево значение, указывающее, нужно ли действию позволить работать, в то время как компьютер находится на заряде батареи. Значение по умолчанию является ложью для приоритетного действия обслуживания и истиной для служебного приоритетного действия.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_CHECK_IN
XPC_ACTIVITY_CHECK_IN
Эта константа может быть передана xpc_activity_register () как словарь критериев для регистрации с системой для ранее зарегистрированного действия с помощью того же идентификатора (например, действие, взятое от launchd списка свойств).
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_DELAY
XPC_ACTIVITY_DELAY
Целочисленное свойство, указывающее число секунд для задержки прежде, чем начать действие.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_GRACE_PERIOD
XPC_ACTIVITY_GRACE_PERIOD
Целочисленное свойство, указывающее число секунд для разрешения как льготный период перед планированием действия, становится более агрессивным.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_INTERVAL
XPC_ACTIVITY_INTERVAL
Целочисленное свойство, указывающее желаемый временной интервал (в секундах) действия. Действие не будет выполнено несколько раз на временной интервал. Вследствие природы Действия XPC, находящего, что подходящее время выполняет действие, любые два случаев могут быть более или менее, чем секунды 'интервала' независимо, но в среднем будут секундами 'интервала' независимо. Присутствие этого ключа подразумевает следующий, если не переопределено: - XPC_ACTIVITY_REPEATING со значением истины - XPC_ACTIVITY_DELAY со значением половины 'интервала' задержка осуществляет минимальное расстояние между любыми двумя случаями. - XPC_ACTIVITY_GRACE_PERIOD со значением половины 'интервала'. Льготный период является количеством времени, позволенным передать после конца интервала, прежде чем произойдет более агрессивное планирование. Льготный период не увеличивает размер интервала.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_PRIORITY
XPC_ACTIVITY_PRIORITY
Свойство строки, указывающее приоритет действия.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_PRIORITY_MAINTENANCE
XPC_ACTIVITY_PRIORITY_MAINTENANCE
Строковое действие указания является приоритетом обслуживания. Приоритет обслуживания предназначается для невидимых для пользователя задач по техобслуживанию, таких как сборка «мусора» или оптимизация.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_PRIORITY_UTILITY
XPC_ACTIVITY_PRIORITY_UTILITY
Строковое действие указания является служебным приоритетом. Служебный приоритет предназначается для видимых пользователем задач, таких как выбирающие данные от сети, копируя файлы, или импортируя данные.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_REPEATING
XPC_ACTIVITY_REPEATING
Булево свойство, указывающее, является ли это повторяющимся действием.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_REQUIRE_BATTERY_LEVEL
XPC_ACTIVITY_REQUIRE_BATTERY_LEVEL
Целочисленный процент минимального заряда батареи, требуемого позволить действию работать. Минимальный уровень заряда батареи по умолчанию определяется системой.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_REQUIRE_HDD_SPINNING
XPC_ACTIVITY_REQUIRE_HDD_SPINNING
Булево значение, указывающее, должно ли действие только быть выполнено, в то время как вращается жесткий диск (HDD). Компьютеры с хранением флэш-памяти считаются эквивалентными вращению HDD. Значения по умолчанию ко лжи.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_REQUIRE_SCREEN_SLEEP
XPC_ACTIVITY_REQUIRE_SCREEN_SLEEP
Булево значение, указывающее, должно ли действие только быть выполнено, в то время как основной экран находится в режиме ожидания. Значения по умолчанию ко лжи.
Доступный в OS X v10.9 и позже.
-
-
Объявление
Swift
var XPC_ACTIVITY_STATE_CHECK_IN: Int { get } var XPC_ACTIVITY_STATE_WAIT: Int { get } var XPC_ACTIVITY_STATE_RUN: Int { get } var XPC_ACTIVITY_STATE_DEFER: Int { get } var XPC_ACTIVITY_STATE_CONTINUE: Int { get } var XPC_ACTIVITY_STATE_DONE: Int { get }
Objective C
enum { XPC_ACTIVITY_STATE_CHECK_IN, XPC_ACTIVITY_STATE_WAIT, XPC_ACTIVITY_STATE_RUN, XPC_ACTIVITY_STATE_DEFER, XPC_ACTIVITY_STATE_CONTINUE, XPC_ACTIVITY_STATE_DONE, };
Константы
-
XPC_ACTIVITY_STATE_CHECK_IN
XPC_ACTIVITY_STATE_CHECK_IN
Действие в этом состоянии только что завершило регистрацию с системой после того, как XPC_ACTIVITY_CHECK_IN был предоставлен как словарь критериев для xpc_activity_register. Состояние дает приложению возможность проверить и изменить критерии действия.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_STATE_WAIT
XPC_ACTIVITY_STATE_WAIT
Действие в этом состоянии ожидает возможности работать. Это значение никогда не возвращается в блоке обработчика действия, поскольку блок вызывается в ответ на XPC_ACTIVITY_STATE_CHECK_IN или XPC_ACTIVITY_STATE_RUN.
Примечание: В то время как действие находится в состоянии ожидания и быть повторно запущенным в ответ на действие, становящееся выполнимым, launchd задание может бездействовать выход. launchd задание просто должно повторно зарегистрироваться для действия на его следующем запуске путем передачи XPC_ACTIVITY_STATE_CHECK_IN xpc_activity_register ().
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_STATE_RUN
XPC_ACTIVITY_STATE_RUN
Действие в этом состоянии приемлемо работать на основе его критериев.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_STATE_DEFER
XPC_ACTIVITY_STATE_DEFER
Приложение может передать это значение xpc_activity_set_state (), чтобы указать, что действие должно быть задержано (помещенный назад в Состояние ожидания) до времени, когда его критерии удовлетворены снова. Задержка действия не сбрасывает ни одного из своих основанных на времени критериев (другими словами, это останется просроченным). Это должно быть сделано в ответ на наблюдение xpc_activity_should_defer ().
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_STATE_CONTINUE
XPC_ACTIVITY_STATE_CONTINUE
Приложение может передать это значение xpc_activity_set_state (), чтобы указать, что действие будет продолжать свою работу вне возврата его блока обработчика. Это может использоваться для расширения действия для включения асинхронных операций. Блок обработчика действия не будет вызван снова, пока состояние не было обновлено или к XPC_ACTIVITY_STATE_DEFER или к, в случае повторяющегося действия, XPC_ACTIVITY_STATE_DONE.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_STATE_DONE
XPC_ACTIVITY_STATE_DONE
Приложение может передать это значение xpc_activity_set_state (), чтобы указать, что завершилось действие. Для неповторения действия средства, связанные с действием, будут автоматически высвобождены по возврату из блока обработчика. Для повторения действия будет сброшено настоящее таймеров в критериях действия.
Доступный в OS X v10.9 и позже.
Обсуждение
Действие определяется, чтобы быть в одном из следующих состояний. Приложения могут проверить текущее состояние действия с помощью xpc_activity_get_state () в блоке обработчика, предоставленном для xpc_activity_register ().
Приложение может изменить состояние действия путем вызова xpc_activity_set_state () с одним из следующего: - XPC_ACTIVITY_STATE_DEFER - XPC_ACTIVITY_STATE_CONTINUE - XPC_ACTIVITY_STATE_DONE
-