Я изучал новую микросхему M7 CMMotionActivityManager
, чтобы определить, идет ли пользователь устройства в рабочем состоянии, в автомобиле и т.д. (см. Документация Apple). Это показалось отличным шагом вперед по сравнению с попыткой определить это ранее, используя только данные LocationManager
и акселерометра.
Однако я заметил, что CMMotionActivityManager
не имеет циклической активности, что является разочаровывающим и почти разрывом для полного использования в качестве нового менеджера активности. Кто-нибудь еще нашел удобный способ использовать CMMotionActivityManager
с циклом также без необходимости повторного включения акселерометра CMLocationManager
+ только для того, чтобы попробовать также проверить цикл?
Примечание. Это также не включает общие параметры транспорта для таких вещей, как поезд. Например, я еду на поезде час в день. Автомобиль можно было бы сделать более общим, по крайней мере, подобно тому, как Moves использует Transport.
CMMotionActivity
имеет только указанные типы движения:
- стационарные
- ходьба
- работает
- автомобильная
- неизвестен
Полезные примечания от кода Apple, которые не обязательно решают проблему, но полезны:
CMMotionActivity
Оценка активности пользователя на основе движения устройства.
Активность отображается как набор свойств, свойства не являются взаимоисключающим.
Например, если вы находитесь в машине, остановленной при знаке остановки, состояние может выглядит как: стационарный = ДА, ходьба = НЕТ, работа = НЕТ, автомобильная = ДА
Или движущееся транспортное средство, неподвижное = НЕТ, ходьба = НЕТ, работа = НЕТ, автомобильная = ДА
Или устройство может быть в движении, но не ходить или в автомобиле. стационарный = НЕТ, ходьба = НЕТ, работа = НЕТ, автомобильная = НЕТ. Обратите внимание, что в этом случае все свойства НЕТ.
[Прямой источник: Apple iOS Framework, CoreMotion/CMMotionActivity.h @interface CMMotionActivity, встроенные комментарии к коду]