¿Cómo iniciar y detener CMMotionManager startAccelerating y stopAccelerating mientras iphone en modo acelerado o en modo inactivo?

Estoy desarrollando una aplicación relacionada con la aceleración. Estoy usando el object CMMtionManager . pero cuando llamo startaccelerating método startaccelerating funciona y llamo continuamente a ese método incluso a iPhone en modo inactivo. Cómo detener y comenzar a acelerar mientras iPhone está acelerando y está inactivo.

 - (void)viewDidLoad { [super viewDidLoad]; motionManager=[[CMMotionManager alloc]init]; motionManager.accelerometerUpdateInterval=2; - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; [self startMyMotionDetect]; } - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; [motionManager stopAccelerometerUpdates]; // Request to stop receiving accelerometer events and turn off accelerometer } - (CMMotionManager *)motionManager { motionManager = nil; id appDelegate = [UIApplication shanetworkingApplication].delegate; if ([appDelegate respondsToSelector:@selector(motionManager)]) { motionManager = [appDelegate motionManager]; } return motionManager; } - (void)startMyMotionDetect { NSLog(@"active %d",motionManager.accelerometerActive); NSLog(@"availabilty %d",motionManager.accelerometerAvailable); [motionManager startAccelerometerUpdatesToQueue:[[NSOperationQueue alloc] init] withHandler:^(CMAccelerometerData *data, NSError *error) { dispatch_async(dispatch_get_main_queue(), ^{ NSLog(@"hello"); [motionManager stopAccelerometerUpdates]; }); }]; } 

por favor ayudame

intentaste agregar esto ?:

 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(stopAccelerometer) name:UIApplicationDidEnterBackgroundNotification object:nil];