Метка времени CMLogItem: почему так сложно? - PullRequest
0 голосов
/ 11 ноября 2018

Я получаю CMLogItem от запроса CoreMotion в быстром (может быть акселерометр, гироскоп). Теперь я хочу получить временную метку этого образца, предпочтительно в виде объекта Date (). CMLogItem s имеют свойство .timestamp типа TimeInterval.

Документация говорит мне следующее:

Класс CMLogItem определяет свойство временной метки только для чтения, которое записывает время, когда было произведено измерение события движения.

Однако я не уверен, как преобразовать эту метку времени в объект Date (), потому что я не знаю, на что ссылается метка времени.

Другая документация гласит:

Отметка времени - это количество времени в секундах с момента, когда устройство загрузился.

Но это кажется действительно странным, и я не понимаю, почему Apple создаст такой непоследовательный и сложный API.

1 Ответ

0 голосов
/ 11 ноября 2018

Думаю, я понял это. Документация здесь просто неверна. Это не «время в секундах с момента загрузки устройства» - это действительно время, прошедшее с даты ссылки.

Исправлено:

extension CMLogItem {
    func startTime() -> Date {
        return Date(timeIntervalSinceReferenceDate: self.timestamp)
    }
}
...