[Radar trackOnceWithCompletionHandler:^(RadarStatus status, CLLocation *location, NSArray<RadarEvent *> *events, RadarUser *user) {
if (status == RadarStatusSuccess) {
NSLog(@"Track successful");
if (location) {
NSLog(@"Location: %f, %f", location.coordinate.latitude, location.coordinate.longitude);
}
} else {
NSLog(@"Track failed: %@", [Radar stringForStatus:status]);
switch (status) {
case RadarStatusErrorPublishableKey:
NSLog(@"Initialize Radar first");
break;
case RadarStatusErrorPermissions:
NSLog(@"Request location permissions");
break;
case RadarStatusErrorLocation:
NSLog(@"Could not determine location");
break;
case RadarStatusErrorNetwork:
NSLog(@"Check network connectivity");
break;
case RadarStatusErrorBadRequest:
NSLog(@"Invalid request parameters");
break;
case RadarStatusErrorUnauthorized:
NSLog(@"Check your API key");
break;
case RadarStatusErrorPaymentRequired:
NSLog(@"Check your billing status");
break;
case RadarStatusErrorRateLimit:
NSLog(@"Rate limit exceeded");
break;
case RadarStatusErrorServer:
NSLog(@"Server error, try again");
break;
default:
NSLog(@"Unknown error");
break;
}
}
}];