title: iOS 8 Beta 4 CLLocationManager not working Placemark null
body: <p>I have a Singleton Class with my Location Manager and the reverse geocoding is in my Viewcontroller to print the address in the app. </p>
  
  <p>Everything worked fine till the new iOS 8 Beta 4 appeared and now the reverse geocoding doesn't work -- the placemark comes back null every time.</p>
  
  <p>It works on the iOS 8 simulator but it doesn't work in my iPhone 5S with beta 4 installed.</p>
  
  <p>My Singleton .h</p>
  
  <pre><code>#import &lt;Foundation/Foundation.h&gt;
  #import &lt;CoreLocation/CoreLocation.h&gt;
  
  @protocol LocationHandlerDelegate &lt;NSObject&gt;
  
  @required
  
  - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations;
  
  @end
  
  @interface TSLocationHandler : NSObject &lt;CLLocationManagerDelegate&gt;
  {
      CLLocationManager *locationManager;
  }
  @property (nonatomic,strong) id&lt;LocationHandlerDelegate&gt; delegate;
  
  
  +(id)getSharedInstance;
  -(void)startUpdating;
  -(void)stopUpdating;
  -(void)requestWhenInUseAuthorization;
  
  @end
  </code></pre>
  
  <p>My Singleton .m</p>
  
  <pre><code>#import "TSLocationHandler.h"
  
  static TSLocationHandler *DefaultManager;
  
  @interface TSLocationHandler()
  
  -(void)initiate;
  
  @end
  
  
  @implementation TSLocationHandler
  
  
  +(id)getSharedInstance
  {
  
      if (!DefaultManager) {
  
          DefaultManager=[[self allocWithZone:NULL]init];
          [DefaultManager initiate];  
      }
      return DefaultManager;
  }
  -(void)initiate{
  
      locationManager = [[CLLocationManager alloc]init];
      locationManager.delegate = self;
  }
  
  -(void)startUpdating{
  
      [locationManager startUpdatingLocation];
  }
  
  -(void) stopUpdating{
  
      [locationManager stopUpdatingLocation];
  }
  
  -(void)requestWhenInUseAuthorization
  {
  
      float ver =[[[UIDevice currentDevice]systemVersion]floatValue];
  
      if (ver&gt;=8.0) {
          [locationManager requestWhenInUseAuthorization];
      }else{
      }
  }
  -(void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
  {
      if (!error==0) {
          UIAlertView *errorAlert =[[UIAlertView alloc]initWithTitle:@"Error" message:@"An error as ocurred during the process of retrieving your location. Please Make sure that you have internet and that you have granted the app with authorization to get your location." delegate:self cancelButtonTitle:@"Ok" otherButtonTitles: nil];
          [errorAlert show];
      }
  } 
  -(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
  
      if  ([self.delegate respondsToSelector:@selector(locationManager:didUpdateLocations:)])
      {
          [self.delegate locationManager:manager didUpdateLocations:locations];
      }
  }
  
  @end
  </code></pre>
  
  <p>My ViewController</p>
  
  <pre><code>- (void)viewDidLoad
  {
      [super viewDidLoad];
  
      [self hasInternet];
  
      //Core Location
      [[TSLocationHandler getSharedInstance]requestWhenInUseAuthorization];
      [[TSLocationHandler getSharedInstance]setDelegate:self];
      [[TSLocationHandler getSharedInstance]startUpdating];
  }
  
  - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{
  
      CLLocation *currentLocation = [locations lastObject];
      geoCoder=[[CLGeocoder alloc]init];
      [geoCoder reverseGeocodeLocation:currentLocation completionHandler:^(NSArray *placemarks, NSError *error) {
  
          NSLog(@"PLACEMARK: %@",placeMark.thoroughfare);
          NSLog(@"ERROR %@", error);
  
          if (error == nil &amp;&amp; [placemarks count] &gt; 0) {
              placeMark = [placemarks lastObject];
  
  
              NSLog(@"PLACEMARK: %@", placeMark.thoroughfare);
  
              self.userLocation.text = [NSString stringWithFormat:@"%@, %@",placeMark.thoroughfare,placeMark.locality];
  
              [[TSLocationHandler getSharedInstance]stopUpdating];
  
              [self performSelector:@selector(espera) withObject:self afterDelay:4];
          } else {
  
              NSLog(@"ERROR %@", error);
              NSLog(@"PLACEMARK: %@", placeMark.thoroughfare);
              NSLog(@"GEOCODE: %@",geoCoder);
          }
     } ];
  }
  </code></pre>