diff --git a/PassiveDataKit/PDKGooglePlacesGenerator.m b/PassiveDataKit/PDKGooglePlacesGenerator.m index 8d5289f..464470d 100644 --- a/PassiveDataKit/PDKGooglePlacesGenerator.m +++ b/PassiveDataKit/PDKGooglePlacesGenerator.m @@ -257,9 +257,6 @@ - (void) transmitPlacesForFreetextQuery:(NSString *) query { NSDictionary * response = [NSJSONSerialization JSONObjectWithData:responseObject options:0 error:&error]; - NSLog(@"response: %@", response); - NSLog(@"count: %d", (int) [response[@"results"] count]); - NSMutableDictionary * log = [NSMutableDictionary dictionary]; [log setValue:[NSDate date] forKey:@"recorded"]; [log setValue:response[@"results"] forKey:@"response"]; @@ -280,8 +277,6 @@ - (void) transmitPlacesForFreetextQuery:(NSString *) query { } } - NSLog(@"DATA: %@", data); - for (id listener in weakSelf.listeners) { [listener receivedData:data forGenerator:PDKGooglePlaces]; } diff --git a/PassiveDataKit/PDKLocationGenerator.m b/PassiveDataKit/PDKLocationGenerator.m index 6556e19..99b7140 100644 --- a/PassiveDataKit/PDKLocationGenerator.m +++ b/PassiveDataKit/PDKLocationGenerator.m @@ -21,6 +21,8 @@ @interface PDKLocationGenerator () @property NSDictionary * lastOptions; @property NSString * mode; +@property (nonatomic, copy) void (^accessDeniedBlock)(void); + @end NSString * const PDKLocationAccuracyMode = @"PDKLocationAccuracyMode"; //!OCLINT @@ -117,16 +119,20 @@ - (void) addListener:(id)listener options:(NSDictionary *) opti } self.lastOptions = options; - + + self.accessDeniedBlock = [options valueForKey:PDKLocationAccessDenied]; + if (self.listeners.count == 0) { // Turn on sensors with options... NSNumber * alwaysOn = [options valueForKey:PDKLocationAlwaysOn]; CLAuthorizationStatus status = [CLLocationManager authorizationStatus]; - + if (status == kCLAuthorizationStatusRestricted || status == kCLAuthorizationStatusDenied) { //!OCLINT - // Do nothing - user shut off location services... + if (self.accessDeniedBlock != nil) { + self.accessDeniedBlock(); + } } else if (status == kCLAuthorizationStatusNotDetermined) { if (alwaysOn != nil && alwaysOn.boolValue) { [self.locationManager requestAlwaysAuthorization]; diff --git a/PassiveDataKit/PassiveDataKit.h b/PassiveDataKit/PassiveDataKit.h index 9f7e34f..65f3f4d 100644 --- a/PassiveDataKit/PassiveDataKit.h +++ b/PassiveDataKit/PassiveDataKit.h @@ -20,6 +20,8 @@ extern NSString *const PDKLocationAlwaysOn; extern NSString *const PDKLocationRequestedAccuracy; extern NSString *const PDKLocationRequestedDistance; extern NSString *const PDKLocationInstance; +extern NSString *const PDKLocationAccessDenied; + extern NSString *const PDKMixpanelToken; extern NSString *const PDKGooglePlacesSpecificLocation; diff --git a/PassiveDataKit/PassiveDataKit.m b/PassiveDataKit/PassiveDataKit.m index 74b634a..69bef60 100644 --- a/PassiveDataKit/PassiveDataKit.m +++ b/PassiveDataKit/PassiveDataKit.m @@ -28,6 +28,8 @@ @interface PassiveDataKit () NSString * const PDKLocationRequestedAccuracy = @"PDKLocationRequestedAccuracy"; //!OCLINT NSString * const PDKLocationRequestedDistance = @"PDKLocationRequestedDistance"; //!OCLINT NSString * const PDKLocationInstance = @"PDKLocationInstance"; //!OCLINT +NSString * const PDKLocationAccessDenied = @"PDKLocationAccessDenied"; //!OCLINT + NSString * const PDKUserIdentifier = @"PDKUserIdentifier"; //!OCLINT NSString * const PDKGenerator = @"PDKGenerator"; //!OCLINT NSString * const PDKGeneratorIdentifier = @"PDKGeneratorIdentifier"; //!OCLINT