Я обнаружил проблему в iOS 7, которая возникает часто, но не всегда.
Сначала я настроил движение устройства следующим образом:
[self.motionManager startDeviceMotionUpdatesUsingReferenceFrame:CMAttitudeReferenceFrameXArbitraryCorrectedZVertical
toQueue:[NSOperationQueue currentQueue]
withHandler:motionHandler];
Это работает до тех пор, пока пользователь не заблокирует экран на iPad Mini с iOS 7. Когда пользователь ждет около 5 секунд, прежде чем снова разблокировать экран, движение устройства снова работает нормально.
Когда пользователь быстро разблокирует экран после его блокировки, движение устройства перестает работать, и обработчик больше не вызывается.
Я предполагаю, что в этом случае программатор должен перезапустить движение устройства вручную. Каков рекомендуемый способ гарантировать, что движение устройства работает успешно?