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