Как определить время запуска приложения Какао (OS X) - PullRequest
3 голосов
/ 04 января 2012

Я пишу приложение для OS X, и мне нужно получить сообщения из журнала, чтобы отправить их на наш сервер для анализа / устранения неполадок. Я знаю, что могу использовать функции Apple System Log (ASL), чтобы получить то, что я хочу, но хотел бы получать только сообщения журнала для текущего сеанса. Я мог бы получить время в моем методе инициализации AppDelegate:

    // now minus one second
    NSDate *startTime = [NSDate dateWithTimeIntervalSinceNow:-1];

Но было интересно, может ли система иметь более точную запись о том, когда приложение запускалось. Я посмотрел на NSProcessInfo, но не вижу там ничего, что было бы уместно. Есть ли способ определить время запуска процесса, кроме записи времени в самом приложении?

1 Ответ

7 голосов
/ 04 января 2012

У меня нет под рукой Mac, чтобы проверить, работает ли это в OS X, но стандартная библиотека C предлагает функцию clock() в заголовке <time.h>, которую можно использовать вместе с CLOCKS_PER_SEC чтобы получить количество секунд, прошедших с момента запуска вашей программы.

EDIT

Это должно дать вам время в течение одной секунды после запуска вашей программы, независимо от того, в какой момент вы ее вызываете:

NSDate *startTime = [NSDate dateWithTimeIntervalSinceNow:-clock()/CLOCKS_PER_SEC];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...