Obtenha o tempo preciso de inicialização do sistema no iOS / OS X
Existe uma API para obter oNSDate
ouNSTimeInterval
representando o tempo que o sistema inicializou? Algumas APIs, como[NSProcessInfo systemUptime]
e o tempo de retorno do Core Motion desde a inicialização. Preciso correlacionar precisamente esses valores de tempo de atividade comNSDate
s, para cerca de um milissegundo.
O tempo desde a inicialização ostensivamente fornece mais precisão, mas é fácil ver queNSDate
já fornece precisão na ordem de 100 nanossegundos, e qualquer coisa abaixo de um microssegundo é apenas medir a latência da interrupção e o jitter do clock do PCB.
O óbvio é subtrair o tempo de atividade do tempo atual[NSDate date]
. Mas isso pressupõe que o tempo não muda entre as duas chamadas de sistema, o que é difícil de realizar. Além disso, se o encadeamento for preterido entre as chamadas, tudo será descartado. A solução é repetir o processo várias vezes e usar o menor resultado, mas eca.
NSDate
deve ter um offset mestre que ele usa para gerar objetos com o tempo atual do tempo de atividade do sistema, não há realmente nenhuma maneira de obtê-lo?