Ссылка 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!) -> VoidObjective 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_BATTERYXPC_ACTIVITY_ALLOW_BATTERYБулево значение, указывающее, нужно ли действию позволить работать, в то время как компьютер находится на заряде батареи. Значение по умолчанию является ложью для приоритетного действия обслуживания и истиной для служебного приоритетного действия.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_CHECK_INXPC_ACTIVITY_CHECK_INЭта константа может быть передана xpc_activity_register () как словарь критериев для регистрации с системой для ранее зарегистрированного действия с помощью того же идентификатора (например, действие, взятое от launchd списка свойств).
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_DELAYXPC_ACTIVITY_DELAYЦелочисленное свойство, указывающее число секунд для задержки прежде, чем начать действие.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_GRACE_PERIODXPC_ACTIVITY_GRACE_PERIODЦелочисленное свойство, указывающее число секунд для разрешения как льготный период перед планированием действия, становится более агрессивным.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_INTERVALXPC_ACTIVITY_INTERVALЦелочисленное свойство, указывающее желаемый временной интервал (в секундах) действия. Действие не будет выполнено несколько раз на временной интервал. Вследствие природы Действия XPC, находящего, что подходящее время выполняет действие, любые два случаев могут быть более или менее, чем секунды 'интервала' независимо, но в среднем будут секундами 'интервала' независимо. Присутствие этого ключа подразумевает следующий, если не переопределено: - XPC_ACTIVITY_REPEATING со значением истины - XPC_ACTIVITY_DELAY со значением половины 'интервала' задержка осуществляет минимальное расстояние между любыми двумя случаями. - XPC_ACTIVITY_GRACE_PERIOD со значением половины 'интервала'. Льготный период является количеством времени, позволенным передать после конца интервала, прежде чем произойдет более агрессивное планирование. Льготный период не увеличивает размер интервала.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_PRIORITYXPC_ACTIVITY_PRIORITYСвойство строки, указывающее приоритет действия.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_PRIORITY_MAINTENANCEXPC_ACTIVITY_PRIORITY_MAINTENANCEСтроковое действие указания является приоритетом обслуживания. Приоритет обслуживания предназначается для невидимых для пользователя задач по техобслуживанию, таких как сборка «мусора» или оптимизация.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_PRIORITY_UTILITYXPC_ACTIVITY_PRIORITY_UTILITYСтроковое действие указания является служебным приоритетом. Служебный приоритет предназначается для видимых пользователем задач, таких как выбирающие данные от сети, копируя файлы, или импортируя данные.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_REPEATINGXPC_ACTIVITY_REPEATINGБулево свойство, указывающее, является ли это повторяющимся действием.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_REQUIRE_BATTERY_LEVELXPC_ACTIVITY_REQUIRE_BATTERY_LEVELЦелочисленный процент минимального заряда батареи, требуемого позволить действию работать. Минимальный уровень заряда батареи по умолчанию определяется системой.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_REQUIRE_HDD_SPINNINGXPC_ACTIVITY_REQUIRE_HDD_SPINNINGБулево значение, указывающее, должно ли действие только быть выполнено, в то время как вращается жесткий диск (HDD). Компьютеры с хранением флэш-памяти считаются эквивалентными вращению HDD. Значения по умолчанию ко лжи.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_REQUIRE_SCREEN_SLEEPXPC_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_INXPC_ACTIVITY_STATE_CHECK_INДействие в этом состоянии только что завершило регистрацию с системой после того, как XPC_ACTIVITY_CHECK_IN был предоставлен как словарь критериев для xpc_activity_register. Состояние дает приложению возможность проверить и изменить критерии действия.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_STATE_WAITXPC_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_RUNXPC_ACTIVITY_STATE_RUNДействие в этом состоянии приемлемо работать на основе его критериев.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_STATE_DEFERXPC_ACTIVITY_STATE_DEFERПриложение может передать это значение xpc_activity_set_state (), чтобы указать, что действие должно быть задержано (помещенный назад в Состояние ожидания) до времени, когда его критерии удовлетворены снова. Задержка действия не сбрасывает ни одного из своих основанных на времени критериев (другими словами, это останется просроченным). Это должно быть сделано в ответ на наблюдение xpc_activity_should_defer ().
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_STATE_CONTINUEXPC_ACTIVITY_STATE_CONTINUEПриложение может передать это значение xpc_activity_set_state (), чтобы указать, что действие будет продолжать свою работу вне возврата его блока обработчика. Это может использоваться для расширения действия для включения асинхронных операций. Блок обработчика действия не будет вызван снова, пока состояние не было обновлено или к XPC_ACTIVITY_STATE_DEFER или к, в случае повторяющегося действия, XPC_ACTIVITY_STATE_DONE.
Доступный в OS X v10.9 и позже.
-
XPC_ACTIVITY_STATE_DONEXPC_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
-
