title: didEnterRegion only fired on device wake up
body: <p>I'm using <strong>local notifications</strong> triggered by <code>iBeacon</code>s in my app. It works fine both in foreground and background as long as the iPhone is active, but doesn't trigger <code>didEnterRegion</code> after about 15 minutes of inactivity or reboot.</p>
  
  <p>It then only fires again on wake up of the iPhone with the home button or sleep button, but I want <code>didEnterRegion</code> to "fire" when the iPhone is in a pocket for 15 minutes or more while entering the region as well.</p>
  
  <p>Is this possible? If yes, how?</p>
  
  <p>Background modes > Location updates is disabled</p>
  
  <p>Some code:</p>
  
  <p>.h</p>
  
  <pre><code>@property (strong, nonatomic) CLBeaconRegion *beaconRegion;
  @property (strong, nonatomic) CLLocationManager *locationManager;
  </code></pre>
  
  <p>.m</p>
  
  <pre><code>- (void)start {
      self.beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid identifier:@"com.bla.bla"];
  
      self.beaconRegion.notifyOnEntry = YES;
      self.beaconRegion.notifyOnExit = YES;
      self.beaconRegion.notifyEntryStateOnDisplay = YES; 
      self.locationManager.desiredAccuracy = kCLLocationAccuracyThreeKilometers;
      [self.locationManager startUpdatingLocation];
  
      [self.locationManager startMonitoringForRegion:self.beaconRegion];
      [self.locationManager startRangingBeaconsInRegion:self.beaconRegion];
      [self.locationManager requestStateForRegion:self.beaconRegion];
  }
  
  - (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region {
      [self.locationManager startRangingBeaconsInRegion:self.beaconRegion];
  }
  
  -(void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region {
      [self.locationManager stopRangingBeaconsInRegion:self.beaconRegion];
  }
  
  - (void)locationManager:(CLLocationManager *)manager monitoringDidFailForRegion:(CLRegion *)region withError:(NSError *)error
  {
      NSLog(@"%@", [error localizedDescription]);
  } 
  
  -(void)locationManager:(CLLocationManager *)manager didDetermineState:(CLRegionState)state forRegion:(CLRegion *)region {
      if (state == CLRegionStateInside) {
          [manager startRangingBeaconsInRegion:self.beaconRegion];
      } else {
          [manager stopRangingBeaconsInRegion:self.beaconRegion];
      }
  }
  </code></pre>