Я хочу использовать действия OSLog для структурирования моих журналов, но я столкнулся с проблемой отсутствия необходимых констант активности в Swift, таких как OS_ACTIVITY_CURRENT
и OS_ACTIVITY_NONE
, и у меня возникает ошибка при попытке создать действие:
let activity = _os_activity_create(dso, strdup(name),
OS_ACTIVITY_CURRENT, // Error: Static member 'OS_ACTIVITY_CURRENT' cannot be used on instance of type 'OSLogOutput'
OS_ACTIVITY_FLAG_DEFAULT)
os.activity
фреймворк имеет описания констант активности без каких-либо определений (но определяет флаги активности OS_ACTIVITY_FLAG_DEFAULT
, OS_ACTIVITY_FLAG_DETACHED
, OS_ACTIVITY_FLAG_IF_NONE_PRESENT
):
/*!
* @const OS_ACTIVITY_CURRENT
*
* @discussion
* Create activity and links to the current activity if one is present.
* If no activity is present it is treated as if it is detached.
*/
Если мы посмотрите в Obj C заголовки <os/activity.h>
, мы можем найти эти константы:
#define OS_ACTIVITY_NONE OS_OBJECT_GLOBAL_OBJECT(os_activity_t, _os_activity_none)
#define OS_ACTIVITY_CURRENT OS_OBJECT_GLOBAL_OBJECT(os_activity_t, _os_activity_current)
Похоже, что OSLog ограничен в Swift, поэтому как работать с действиями OSLog или где я могу найти константы?