Overview
The Radar iOS SDK follows semantic versioning. Major version updates may contain breaking changes, while minor and patch versions are backward compatible.Latest Migrations
3.20.x to 3.21.x
Breaking Changes
Country Code Parameter Added ThesearchPlaces() method now requires an additional countryCodes parameter to filter search results by country.
Update method calls
countryCodes parameter to all searchPlaces() calls. Use nil if you don’t want to filter by country.Test search functionality
3.12.x to 3.13.x
Breaking Changes
Verified Tracking Return Type Changed ThetrackVerified() method now returns a RadarVerifiedLocationToken object that includes the JWT token, user data, events, and verification results. The separate trackVerifiedToken() method has been removed.
Update completion handler parameters
trackVerified() completion handlers to accept RadarVerifiedLocationToken instead of separate parameters.Update verification logic
token?.passed property instead of checking individual fraud/country/state flags.Remove trackVerifiedToken() calls
trackVerifiedToken() with trackVerified() since it now returns the JWT token directly.Update server integration
token?.token (the JWT string) to your server for validation instead of making a separate API call.3.11.x to 3.12.x
Breaking Changes
RadarDelegate Method Added A new required method has been added to theRadarDelegate protocol.
3.9.x to 3.10.x
Breaking Changes
Search Geofences Method Updated ThesearchGeofences() methods have been updated with new parameters for better control over results.
3.8.x to 3.9.x
Breaking Changes
Autocomplete Method Parameter Changed TheexpandUnits parameter has been deprecated and replaced with mailable.
Major Version Migrations
3.6.x to 3.7.x - Custom Events to Conversions
Breaking Changes
1. Method Renaming- Old:
(status, location, events, user) - New:
(status, event)
Replace sendEvent() calls
Radar.sendEvent() calls and replace them with Radar.logConversion().Update completion handlers
(RadarStatus, RadarEvent?) instead of (RadarStatus, CLLocation?, [RadarEvent]?, RadarUser?).Update event type checks
.custom with .conversion and customType with conversionName.Add revenue tracking
logConversion(name:revenue:metadata:) method for purchase events.Remove location-based events
sendEvent(customType:location:metadata:) method has been removed. Remove these calls or replace with standard logConversion().3.1.x to 3.2.x - XCFramework and Naming Changes
Breaking Changes
1. Distribution Format The SDK is now distributed as.xcframework instead of .framework. This provides better support for different architectures.
Update CocoaPods
Clean build folder
3.0.x to 3.1.x - Trip and Beacon Updates
Breaking Changes
1. Track Once with Beacons2.1.x to 3.0.x - Major Tracking Overhaul
Breaking Changes
1. Start Tracking Requires OptionsdidUpdateClientLocation() for all location updates, or didUpdateLocation() for only server-synced updates with user state.Choose tracking preset
- presetContinuous: ~30 second updates, highest battery usage
- presetResponsive: ~2.5 minute updates when moving, shuts down when stopped (closest to v2 default)
- presetEfficient: Only updates on visits, lowest battery usage
Update startTracking() calls
Radar.startTracking() calls with preset options.Implement required delegate method
didUpdateClientLocation() to your RadarDelegate implementation.Rename updateLocation() calls
updateLocation() with trackOnce(location:).Enable ad ID if needed
Radar.setAdIdEnabled(true) after initialization if you need ad ID collection.Remove places provider
setPlacesProvider() calls.Older Version Migrations
2.0.x to 2.1.x
This update introducedstartTrackingWithOptions: for advanced tracking configuration.
View details
View details
startTrackingWithOptions: method provides additional configuration options while maintaining backward compatibility.1.3.x to 2.0.x
View details
View details
- Location authorization helper methods removed
- Use
CLLocationManagerdirectly for permissions RadarStatusErrorUserIdandRadarStatusErrorPlacesremovedsetTrackingPriority:method removed
1.2.x to 1.3.x
View details
View details
userIdonRadarUseris now nullablereidentifyUserWithOldUserId:method removed
Testing Your Migration
After migrating to a new version, test these critical paths:Location tracking
Location tracking
- Start and stop tracking
- Verify tracking presets work as expected
- Check that location updates are received
- Confirm battery usage is acceptable
Delegate callbacks
Delegate callbacks
- Test all delegate methods are called
- Verify events are received correctly
- Check error handling
- Confirm log messages appear
Trip tracking
Trip tracking
- Start, update, complete, and cancel trips
- Verify trip events are generated
- Check ETA calculations
- Test multi-destination trips if used
Location verification
Location verification
- Test verified tracking if enabled
- Verify token generation
- Check fraud detection results
- Confirm SSL pinning is working