Quick Diagnostics
Before diving into specific issues, verify these basics:SDK initialized correctly
SDK initialized correctly
Radar.initialize() in your AppDelegate’s didFinishLaunchingWithOptions method before any other Radar methods.Valid API key
Valid API key
- Starts with
prj_test_pk_(test) orprj_live_pk_(live) - No extra spaces or characters
- Copied from your Radar dashboard
Location permissions granted
Location permissions granted
Info.plist configured
Info.plist configured
Info.plist:NSLocationWhenInUseUsageDescriptionNSLocationAlwaysAndWhenInUseUsageDescription(if using background tracking)- Optionally:
UIBackgroundModeswithlocationfor background tracking
Common Issues
Location Tracking
Location Updates Not Received
Enable debug logging
Implement delegate
Check tracking status
Verify location permissions
Location Updates Too Infrequent
Symptoms: Location updates happen less often than expected. Solutions:Use a more aggressive preset
Use a more aggressive preset
Customize tracking options
Customize tracking options
Check iOS restrictions
Check iOS restrictions
- Device is in Low Power Mode
- Battery is low (< 20%)
- Poor network connectivity
- App is in background for extended period
- Location services are restricted systemwide
Tracking Stops When App Backgrounded
Symptoms: Location updates stop when app goes to background. Solutions:Add background location capability
- Click + Capability
- Add Background Modes
- Enable Location updates
Request Always authorization
Add Info.plist key
NSLocationAlwaysAndWhenInUseUsageDescription to your Info.plist with a clear explanation of why you need background location access.Don't use continuous with blue bar disabled
Location Permissions
Permission Prompt Not Showing
Symptoms: Location permission dialog never appears. Solutions:Check Info.plist keys
Check Info.plist keys
Info.plist:Request on main thread
Request on main thread
Check if already determined
Check if already determined
Can’t Upgrade from When In Use to Always
Symptoms: Already have “When In Use” permission but can’t get “Always” permission. Solutions:Request in correct order
Add both Info.plist keys
Info.plist to upgrade permissions:NSLocationWhenInUseUsageDescriptionNSLocationAlwaysAndWhenInUseUsageDescription
Timing matters
- After the user has used the app a few times
- When they’re performing an action that benefits from background tracking
- Not immediately on first launch
Trip Tracking
Trip Not Starting
Symptoms:startTrip() call returns an error or trip doesn’t track.
Solutions:
Check trip options
Check trip options
Verify destination geofence exists
Verify destination geofence exists
- Go to Geofences
- Search for your
destinationGeofenceTagordestinationGeofenceExternalId - Ensure the geofence is enabled
Check tracking is enabled
Check tracking is enabled
No Trip Events Generated
Symptoms: Trip starts but no approaching/arrival events received. Solutions:Check approaching threshold
Verify geofence radius
Test with manual location
Events and Webhooks
Events Not Received in Delegate
Symptoms: Location updates work but event delegate methods aren’t called. Solutions:Implement all delegate methods
Implement all delegate methods
Retain delegate reference
Retain delegate reference
Webhooks Not Firing
Symptoms: Events generated but webhooks not received on your server. Solutions:Check webhook configuration
- Go to Settings → Webhooks
- Verify URL is correct and reachable
- Ensure event types are enabled
- Check webhook signature verification
Test endpoint manually
Check server logs
- Use
POSTmethod - Have
Content-Type: application/json - Include
X-Radar-Signatureheader
Verify event conditions
- Geofence events require matching tag or metadata
- Trip events require active trip
- Dwell events require minimum dwell time
Verified Location
trackVerified() Fails
Symptoms:trackVerified() returns error status.
Solutions:
Configure SSL pinning
Configure SSL pinning
trackVerified():Check verification requirements
Check verification requirements
- SSL pinning configured
- Valid location with good accuracy
- Network connectivity
- Fraud detection enabled in dashboard
Handle verification failures
Handle verification failures
- Location spoofing detected
- Proxy/VPN usage
- Location mismatch with expected jurisdiction
Performance Issues
High Battery Usage
Symptoms: App drains battery faster than expected. Solutions:Use appropriate tracking preset
Use appropriate tracking preset
Reduce update frequency
Reduce update frequency
Disable unnecessary features
Disable unnecessary features
App Launch Time Increased
Symptoms: App takes longer to launch after adding Radar SDK. Solutions:Defer non-critical initialization
Defer non-critical initialization
Optimize tracking options
Optimize tracking options
Debugging Tools
Logging
Enable different log levels to see SDK activity:.none- No logs.error- Only errors.warning- Warnings and errors.info- Info, warnings, and errors (default).debug- Verbose logging including all SDK operations
Testing with Mock Locations
Test tracking without moving:Manual Tracking
Test with a manual location:Check SDK State
Get current SDK configuration:Common Error Codes
Understand error status codes:Still Having Issues?
If you’re still experiencing problems:Contact Support
- SDK version
- iOS version
- Device model
- Detailed description
- Relevant logs
GitHub Issues
- Steps to reproduce
- Expected behavior
- Actual behavior
- Code samples
Documentation
Dashboard
- Event logs
- Webhook logs
- API usage
- Configuration