Our App has a feature that needs to determine if the phone was stationary during the last 10 seconds. For the past several years, we have been using CMMotionActivityManager
for this feature and it has worked very reliably. We query motion activity for the past 10 seconds (using queryActivityStarting(from:to:to:)
method) and check for any events where the stationary
property is false.
However, the behavior of CMMotionActivityManager
has changed in iOS 16.4 Beta: CMMotionActivityManager
no longer reports motion as it did on iOS 16.3 and earlier versions. With iOS 16.4 Beta, CMMotionActivityManager
will falsely return events where the stationary
property is true
(or return no events) even though the phone was in motion during the query interval.
There are times when it does return motion events correctly, but that only happens if the phone is in constant motion for a sustained period of time. This behavior is drastically different from previous iOS versions where even the slightest bit of movement would generate motion events.
i'm really hoping this is an issue in the beta and will be sorted out soon.
Feedback Filed: FB12005598