With the M7 chip in the latest iOS devices one can get programmatically notified as the user goes from stationary to running, walking, etc using CMMotionActivityManager. Sta
If your location manager is working in Active mode, to enable background mode you need to do this three steps: