Announcements
This page contains important announcements about new iOS features, fixes, or breaking changes shared in advance with our developer community. For the latest changes make sure to check the Release notes page.
Announcing breaking changes: January 23, 2023
Search
What is changing?
PoiDetailsResponse
returnsPoiDetails
instead ofSearchResult
.limit
inAutoCompleteOptions
now has a non-optional default value of 5.- The
searchAreas
property inSearchOptions
is now a set. - We are removing
shouldFetchDetourOffset
inSearchOptions
. Detour offset will always be returned when applicable. SearchOptions
now has two constructors for each of the two scenarios, fuzzy search and search-along-the-route.- We are removing the POIID constructor that accepts a
SearchResultID
. - We are removing
fuelTypes
from POI. - We are grouping detour information into a Detour class in
SearchResult
. - We are using
TomTomSDKCommon.Place
inSearchResult
instead of address and position. - The strings for
AutocompleteSegment
will be either a Brand object, a Category object, or plain text. - We are converting collections with unique elements in POI to sets instead of arrays.
- enums in
SortOrder
now have a "by" prefix, e.g.,byDetourTime
. - We are removing offset from
SearchRequestSummary
. - We are renaming the following:
openingHours
toopeningHoursMode
inSearchOptions
.countries
tocountryCodes
inSearchOptions
.resultTypeSet
toresultTypes
inSearchOptions
.categories
tocategoryIDs
inSearchOptions
.identifiers
togeometryIDs
inGeometryDataOptions
.zoom
togeometryZoom
inGeometryDataOptions
.id
tosearchResultId
inSearchResult
.geoPoliticalView
togeopoliticalView
inSearchOptions
.GeoPoliticalView
toGeopoliticalView
.SearchRequestSummary
toSearchSummary
.
- We are removing
numResults
from all classes ending withSummary
. - We are replacing
ClosedRange<Date>
withDateInterval
inTomTomSDKSearch.OpeningHours
. - We are changing the return type of the
PlaceMatch.speedLimit.Get()
accessor fromSwift.String?
toFoundation.Measurement<Foundation.UnitSpeed>?
. - We are changing the declared type in the
PlaceMatch.speedLimit
var fromSwift.String?
toFoundation.Measurement<Foundation.UnitSpeed>?
Minor changes
- We are changing the
SearchResult.detourOffset
type fromInt
toMeasurement<UnitLength>
.
Routing
What is changing?
In TomTomSDKRoutePlannerOffline
we are removing:
- Enum
OnboardInstructionError
. - Enum
OnboardRouteConverterError
. - Func
CarTrainSection.convertToGoSDKSection(routePoints:)
. - Func
CarpoolSection.convertToGoSDKSection(routePoints:)
. - Func
CountrySection.convertToGoSDKSection(routePoints:)
. - Func
FerrySection.convertToGoSDKSection(routePoints:)
. - Func
MotorwaySection.convertToGoSDKSection(routePoints:)
. - Func
PedestrianSection.convertToGoSDKSection(routePoints:)
. - Func
TollRoadSection.convertToGoSDKSection(routePoints:)
. - Func
TollVignetteSection.convertToGoSDKSection(routePoints:)
. - Func
TrafficSection.convertToGoSDKSection(routePoints:)
. - Func
TravelModeSection.convertToGoSDKSection(routePoints:)
. - Func
TunnelSection.convertToGoSDKSection(routePoints:)
. - Func
UnpavedSection.convertToGoSDKSection(routePoints:)
. - Func
UrbanSection.convertToGoSDKSection(routePoints:)
. - Struct
RoutingArcInfo
.
Navigation
What is changing?
- We are moving the public interfaces of navigation engines to a new module
TomTomSDKNavigationEngines
. - We are renaming the existing module
TomTomSDKNavigationEngine
toTomTomSDKNavigation
. - We are removing the
didGenerateNextPrediction(predictions:)
method ofNavigationMapMatchingObserver
protocol. - We are replacing the
didMapMatchLocation(location: TomTomSDKLocationProvider.GeoLocation)
method of theNavigationMapMatchingObserver
protocol with thedidMapMatchLocation(location: TomTomSDKNavigationEngine.MapMatchingResult)
method. - We are changing the associated value type from
TomTomSDKLocationProvider.GeoLocation
toTomTomSDKNavigationEngine.MapMatchingResult
for thedidMapMatchLocation
enum case of theNavigationEvent.MapMatchingEvent
enum. - We are replacing
NavigationConfigurationBuilder
on theNavigationConfiguration
struct.
Announcing breaking changes: January 16, 2023
Maps
What is changing?
- We are removing the public initializers of the following
TomTomSDKDataManagementOffline
types:CompletedMapOperation
CurrentMapOperation
RegionGraph
RegionGraphNode
RegionGraphNodeState
Routing
What is changing?
Within TomTomSDKRoutePlannerOnline
:
- We are removing the following classes:
BatchReachableRangeQuery
BatchRoutingQuery
ReachableRangeQuery
RoutingQuery
- We are removing
RoutingError.init(from:)
. - We are removing the following enums:
OnlineInstructionError
RoutingErrorCode
- We are removing the following protocols:
Query
QueryBuilder
- We are removing the following structs:
LatLngBounds
OptimizedWaypoint
Rectangles
Response
RoadShieldReference
- We are removing the
RoutingError.message
var. - We are changing the
RoutingError
class to a struct. - We are changing the return type for the
RoutingError.code.Get()
accessor fromTomTomSDKRoutePlannerOnline.RoutingErrorCode
toTomTomSDKRoutePlannerOnline.RoutingError.Code
. - We are changing the declared type of the
RoutingError.code
var fromTomTomSDKRoutePlannerOnline.RoutingErrorCode
toTomTomSDKRoutePlannerOnline.RoutingError.Code
. - We are removing conformance of`RoutingError` to decodable.
Navigation
What is changing?
- We are removing
Route Instruction Builders
from the public API. - We are removing the property
travelTime
fromRoute Instruction
.
Announcing breaking changes: January 9, 2023
Maps
What is changing?
In TomTomSDKMapDisplay:
- We are removing the
RouteOptions.init(segments:)
constructor. - We are removing the
RouteSegment
struct. - We are removing the
RouteOptions.segments
var. - We are adding a
RouteOptions.init(coordinates: [CLLocationCoordinate2D], sections: [RouteSection])
constructor.
Search
What is changing?
In the reverse geocoder:
- We are renaming the
supportedRoadUses
attribute inReverseGeocoderOptions
toroadUses
. - We are renaming
supportedEntityTypes
inReverseGeocoderOptions
toentityTypes
. - We are renaming
supportedMapCodeTypes
inReverseGeocoderOptions
tomapCodeTypes
. - We are renaming
shouldFetchGeometry
inReverseGeocoderOptions
tofetchGeometry
. - The
EntityType
enumeration won’t have a base type. - We are reusing
Geometry
from theTomTomSDKCommon
module instead of defining aGeoGeometry
type in the reverse geocoder module. - The
MatchType
enumeration won’t have a base type. - We will now represent the speed limit by
Measurement<UnitSpeed>
. - We are using set for
roaduse
inPlaceMatch
. - We are reusing
GeoBoundingBox
fromTomTomSDKCommon
in the reverse geocoder. - We are removing
numResults
fromReverseGeocoderSummary
. - We are removing map code from the reverse geocoder.
Minor changes
- We are changing
SearchOptions.sessionId
tosessionID
. - In the reverse geocoder:
- We are setting
ReverseGeocoderOptions.locale
to the default locale.
- We are setting
Routing
What is changing?
TomTomSDKRoutePlanner:
- We are removing the following constructors:
AlternativeType.init(rawValue:)
AvoidType.init(rawValue:)
ExtendedRouteRepresentation.init(rawValue:)
Hilliness.init(rawValue:)
RouteRepresentation.init(rawValue:)
SectionType.init(rawValue:)
WaypointOptimization.init(rawValue:)
Windingness.init(rawValue:)
- We are removing the
Array.queryItems(key:)
func. - We are removing the following TypeAlias’s:
AlternativeType.RawValue
AvoidType.RawValue
ExtendedRouteRepresentation.RawValue
Hilliness.RawValue
RouteRepresentation.RawValue
SectionType.RawValue
WaypointOptimization.RawValue
Windingness.RawValue
- We are removing the following vars:
AlternativeType.rawValue
AvoidType.rawValue
ExtendedRouteRepresentation.rawValue
Hilliness.rawValue
RouteRepresentation.rawValue
SectionType.rawValue
WaypointOptimization.rawValue
Windingness.rawValue
- We are changing
QueryOptions.trackingId
to VartrackingID
.
- We are removing conformance of the
AvoidType
enums to:Decodable
Encodable
RawRepresentable
- We are removing conformance to
RawRepresentable
from the following enums:AlternativeType
AvoidType
ExtendedRouteRepresentation
Hilliness
RouteRepresentation
RouteType
SectionType
WaypointOptimization
Windingness
The following changes to AvoidOptions
are being made:
Name |
Type |
What is changing |
From |
To |
|
accessor |
return type |
|
|
|
accessor |
parameter 0 type |
|
|
|
accessor |
return type |
|
|
|
accessor |
parameter 0 type |
|
|
|
constructor |
parameter 0 type |
|
|
|
constructor |
parameter 2 type |
|
|
|
var |
declared type |
|
|
|
var |
declared type |
|
|
TomTomSDKRoutePlannerOnline: * Extension Array removing conformance to QueryItemArrayConvertable
. * Func Array.queryItem(key:)
is being removed from the public API.
TomTomSDKNavigationEngine: * Extension Array removing conformance to QueryItemArrayConvertable
.
Announcing breaking changes: January 2, 2023
General
What is changing?
TomTomSDKFeatureToggle
:
- Func
FeatureToggleControllerProtocol.disable(feature:)
has a generic signature change from<Self where Self : TomTomSDKFeatureToggle.FeatureToggleControllerProtocol>
to<Self where Self : TomTomSDKFeatureToggle.FeatureToggleController>
. - Func
FeatureToggleControllerProtocol.enable(feature:)
has a generic signature change from<Self where Self : TomTomSDKFeatureToggle.FeatureToggleControllerProtocol>
to<Self where Self : TomTomSDKFeatureToggle.FeatureToggleController>
. - Func
FeatureToggleControllerProtocol.isEnabled(feature:)
has a generic signature change from<Self where Self : TomTomSDKFeatureToggle.FeatureToggleControllerProtocol>
to<Self where Self : TomTomSDKFeatureToggle.FeatureToggleController>
. - We are removing Constructor
RuntimeFeatureType.init(rawValue:)
. - We are removing EnumElement
RuntimeFeatureType.newGestureInteraction
. - We are removing TypeAlias
RuntimeFeatureType.RawValue
. - We are removing Var
RuntimeFeatureType.rawValue
. - We are renaming Protocol
FeatureToggleControllerProtocol
to ProtocolFeatureToggleController
. - Accessor
FeatureToggle.shared.Get()
has a return type change fromTomTomSDKFeatureToggle.FeatureToggleControllerProtocol
toTomTomSDKFeatureToggle.FeatureToggleController
. - Var FeatureToggle.shared has a declared type change from
TomTomSDKFeatureToggle.FeatureToggleControllerProtocol
toTomTomSDKFeatureToggle.FeatureToggleController
. - Class
FeatureToggle
has removed conformance toFeatureToggleControllerProtocol
. - Enum
RuntimeFeatureType
has removed conformance toRawRepresentable
.
Navigation
What is changing?
TomTomSDKRouteReplanner.RouteReplanner
protocol is changing:- method func
update(_ options: RouteUpdateOptions) async throws
> [Route] is changing to funcupdate(_ options: RouteUpdateOptions)`
>AsyncThrowingStream<Route, Error>
. - method func
backToRoute(_ options: BackToRouteOptions) async throws
> [Route] is changing to funcbackToRoute(_ options: BackToRouteOptions)
>AsyncThrowingStream<Route, Error>
.
- method func
- Implementations of protocol
TomTomSDKRouteReplannerHybrid.HybridRouteReplanner
andTomTomSDKRouteReplannerDefault.DefaultRouteReplanner
are changing respectively.
Announcing breaking changes: December 27, 2022
General
What is changing?
- We are renaming
UnitsSystem.distanceFormatted(valueInMeters:)
todistanceFormatted(value:)
- We are removing
GeoJSONPosition.init(from:)
- We are removing
GeoJSONPosition.encode(to:)
- We are making the following internal:
- Initializer
Geometry.init(type:coordinates:)
- Var
GeoJSON.exteriorRing
- Var
GeoJSON.internalRings
- Initializer
- Struct
GeoJSONPosition
has removed conformance to Decodable - Struct
GeoJSONPosition
has removed conformance to Encodable
Maps
What is changing?
- We are replacing initializer
RouteInstruction.init(distanceAlongRouteMeters:lengthInMeters:combineWithNext:pointIndex:)
withRouteInstruction.init(distanceAlongRoute:length:combineWithNext:pointIndex:)
- We are renaming property
RouteOptions.reachableDistanceInMeters
toreachableDistance
Search
What is changing?
- We are renaming
searchResult.id.parkingAvailabilityDataSourceId
toparkingDetailD
in TomTomSDKSearch.SearchResult - Moving EV Charging AvailabilityAPI from Hybrid and Search modules to Dynamic Data module:
- We are removing in TomTomSDKSearch:
Search.requestEvChargingStationsAvailability(query:completion:)
method - We are removing in TomTomSDKSearchOnline:
OnlineSearch.requestEvChargingStationsAvailability(query:completion:)
method - We are removing TomTomSDKSearchOffline: Func
OfflineSearch.requestEvChargingStationsAvailability(query:completion:)
- We are removing TomTomSDKSearchHybrid: Func
HybridSearch.requestEvChargingStationsAvailability(query:completion:)
- We are removing in TomTomSDKSearch:
Navigation
What is changing?
- We are moving EVChargingAvailability API from HybridSearch and Hybrid Search to Dynamic Data module
- We are removing
travelTime
from guidance instructions - We are renaming
DefaultSimpleEngineCommonCalculator.calculateProgressOnRoute(location:route:distanceThreshInMeters:lastDistanceAlongRoute:)
tocalculateProgressOnRoute(location:route:distanceThreshold:lastDistanceAlongRoute:)
- We are renaming
SimpleEngineCommonCalculator.calculateProgressOnRoute(location:route:distanceThreshInMeters:lastDistanceAlongRoute:)
tocalculateProgressOnRoute(location:route:distanceThreshold:lastDistanceAlongRoute:)
- The parameter type in
SimpleEngineCommonCalculator.calculateProgressOnRoute(location:route:distanceThreshInMeters:lastDistanceAlongRoute:)
is changing fromSwift.Double
toFoundation.Measurement<Foundation.UnitLength>
- The declared type for property
SimpleEngineCalcResult.closestDistance
is changing fromSwift.Double
toFoundation.Measurement<Foundation.UnitLength>
Announcing breaking changes: December 19, 2022
Search
What is changing?
- We are removing the
RelatedPois
enum, as we do not support related POIs in response or search options.
Announcing breaking changes: December 5, 2022
General
What is changing?
- We are removing the
distance
property from thePlace
structure.
Maps
Minor changes
- We are moving
PositionUpdateObserver
protocol to theTomTomSDKDataManagement
framework (fromTomTomSDKDataStoreUpdater
), to improve the dependency tree. - The following methods/properties will be removed from the
TomTomSDKDataManagement.MapDataStore
protocol:updatesEnabled
addMapUpdateObserver
removeMapUpdateObserver
addAutomaticMapUpdateFailureObserver
removeAutomaticMapUpdateFailureObserver
These methods will still be present onTomTomSDKDataManagementOffline.NDSStore
class, so you will need to use that class instead ofMapDataStore
protocol to call these methods.
- We are moving the following types (all related to the NDS Map Update functionality) to the
TomTomSDKDataManagementOffline
framework (fromTomTomSDKDataManagement
):AutomaticMapUpdateFailureObserver
CompletedMapOperation
CurrentMapOperation
MapOperation
MapOperationType
MapUpdateError
MapUpdateObserver
RegionGraph
RegionGraphNode
RegionGraphNodeID
RegionGraphNodeState
RegionGraphObserver
Search
What is changing?
- We are unifying search and search along the route APIs.
- We are removing the
offset
parameter from the SearchOptions structure. - We are removing the
fuzzyLevel
parameter from the SearchOptions structure.
Routing
What is changing?
- For TomTomSDKRoutePlanner:
- Property
AlternativeRoutesOptions.Builder.maxAlternatives
changing the type fromInt?
toInt
. - Property
AlternativeRoutesOptions.maxAlternatives
changing return type fromInt?
toInt
. - Initializer
AlternativeRoutesOptions.init(maxAlternatives:alternativeType:minDeviationDistance:minDeviationTime:)
changing parametermaxAlternatives
type fromInt?
toInt
. - Initializer
AlternativeRoutesOptions.init(maxAlternatives:alternativeType:minDeviationDistance:minDeviationTime:)
removing default argument formaxAlternatives
parameter.
- Property
Navigation
What is changing?
- We are reordering instruction params to group defaulted params at the end of the initializers.
- We are renaming
GuidanceOnlineAPIVersion
toOnlineAPIVersion
.
Announcing breaking changes: November 28, 2022
Maps
What is changing?
- TomTomSDKDataManagement
- MapStructureObserver protocol has been removed (use RegionGraphObserver instead).
- RegionGraphNode’s id property has been removed (use nodeID instead).
- TomTomSDKDataManagementOffline
- TypeAlias MapOperationScheduler has been removed.
- Class NDSStore has removed conformance to MapOperationScheduler. MapOperationScheduler has been removed.
- Class NDSStore has removed conformance to MapStructureProvider. MapStructureProvider has been removed.
- Class NDSStore has removed conformance to RegionGraphDataProviding. RegionGraphDataProviding has been moved to the GoSDK sample app.
Search
What is changing?
- Replacing the EV Charging Stations Availability API from Search and HybridSearch modules with the EV Charging Stations Availability API from DynamicData module.
- Removing TomTomSDKDataManagement.OnStoreAccessChangedObserver protocol support from the TomTomSDKSearchOffline.OfflineSearch and TomTomSDKRerevseGeocoderOffline.OfflineReverseGeocoder classes.
Announcing breaking changes: November 21, 2022
Maps
What is changing?
- Renaming
Map
toTomTomMap
Search
What is changing?
- Moving
EntryPoints
andChargingPark
fromSearchResponse
to POI class
Routing
What is changing?
- Renaming:
HTTPHandlerProtocol
>HTTPHandler
QueryProtocol
>Query
SimpleEngineCommonCalcProtocol
>SimpleEngineCommonCalc
Navigation
What is changing?
- Removing:
Enum NavigationOptionsActiveRouteError
Enum NavigationOptionsAddError
Enum NavigationOptionsRemoveError
Enum NavigationOptionsUpdateError
- Changing:
Func NavigationOptionsActiveRouteDelegate.activeRouteSetFailed
(with:) parameter type fromTomTomSDKNavigationEngine.NavigationOptionsActiveRouteError
toTomTomSDKNavigationEngine.Navigation.OptionsError
Func NavigationOptionsAddDelegate.routePlanAddFailed
(with:) parameter type fromTomTomSDKNavigationEngine.NavigationOptionsAddError
toTomTomSDKNavigationEngine.Navigation.OptionsError
Func NavigationOptionsRemoveDelegate.routeRemovalFailed
(with:) parameter type fromTomTomSDKNavigationEngine.NavigationOptionsRemoveError
toTomTomSDKNavigationEngine.Navigation.OptionsError
Func NavigationOptionsUpdateDelegate.updateFailed
(with:) parameter type fromTomTomSDKNavigationEngine.NavigationOptionsUpdateError
toTomTomSDKNavigationEngine.Navigation.OptionsError
- Renaming:
Func NavigationErrorObserver.didArrivalEngineFail
(with:) toNavigationErrorObserver.arrivalEngineFailed
(with:)Func NavigationErrorObserver.didGuidanceEngineFail
(with:) toNavigationErrorObserver.guidanceEngineFailed
(with:)Func NavigationErrorObserver.didHorizonEngineFail
(with:) toNavigationErrorObserver.horizonEngineFailed
(with:)Func NavigationErrorObserver.didLocationContextEngineFail
(with:) toNavigationErrorObserver.locationContextEngineFailed
(with:)Func NavigationErrorObserver.didMapMatchingEngineFail
(with:) toNavigationErrorObserver.mapMatchingEngineFailed
(with:)Func NavigationErrorObserver.didRouteProgressDetectionEngineFail
(with:) toNavigationErrorObserver.routeProgressDetectionEngineFailed
(with:)Func NavigationErrorObserver.didRouteReplanningEngineFail
(with:) toNavigationErrorObserver.routeReplanningEngineFailed
(with:)Func NavigationErrorObserver.didRouteTrackingEngineFail
(with:) toNavigationErrorObserver.routeTrackingEngineFailed
(with:)Func NavigationErrorObserver.didStartFail
(with:) toNavigationErrorObserver.navigationStartFailed
(with:)
Announcing changes to SDK artifacts: November 17, 2022
When is it expected?
Expected rollout date: November 21, 2022
What is changing?
With the upcoming release of Maps and Navigation SDKs, we are renaming some frameworks to comply with the SDK-wide naming scheme. Historical frameworks remain available in the Cocoapods and SPM repositories. However, all new SDK development will be published under the updated artifact names.
What do you need to do?
If you want to be able to use the newest SDKs, make sure to remove all old frameworks used in your Podfile or your SPM package definition and add matching entries with the updated names. We will communicate the exact list of renamed frameworks in the Release Notes.
Announcing breaking changes: November 14, 2022
Maps
What is changing?
- Renaming:
OnboardMapMatchingEngine
toOfflineMapMatchingEngine
(implementation)OnboardLocationContextProviderEngine
toOfflineLocationContextProviderEngine
(implementation)
Search
What is changing?
- Changing the way an API key is set for the API entry points in
TomTomSDKOnlineSearch
,TomTomSDKOnlineReverseGeocoder
, andTomTomSDKOnlineDynamicData
modules. From now on the API key will be set at the API entry point initialization. We are removing the following public preview APIs that we used for setting a key:SearchOnlineService
class,ReverseGeocoderOnlineService
class, and a staticOnlineDynamicDataProvider.searchKey
property. - Changing public preview API endpoint in
TomTomSDKReverseGeocoder
,TomTomSDKReverseGeocoderOnline
,TomTomSDKReverseGeocoderOffline
, andTomTomSDKReverseGeocoderHybrid
modules:- Renaming the following API entry points:
Protocol ReverseGeocoderService
toReverseGeocoder
Class TomTomOnlineReverseGeocoderService
toOnlineReverseGeocoder
Class TomTomOnboardReverseGeocoderService
toOfflineReverseGeocoder
Class HybridReverseGeocoderService
toHybridReverseGeocoder
Structure ReverseGeocoderQuery
toReverseGeocoderOptions
- Changing the signature of method:
ReverseGeocoder.reverseGeocode
(query ReverseGeocoderQuery: completion: @escaping (Result<TomTomSDKReverseGeocoder.ReverseGeocoderResponse, Error>)
toReverseGeocoder.reverseGeocode
(queryReverseGeocoderOptions: completion: @escaping
(Result<TomTomSDKReverseGeocoder.ReverseGeocoderResponse, Error>
)
- Removing
AdditionalDataQueryBuilder
andAdditionalDataQuery
from public API
- Renaming the following API entry points:
- Changing public preview API endpoint in
TomTomSDKSearch
,TomTomSDKReverseSearchOnline
,TomTomSDKSearchOffline
, andTomTomSDKSearchrHybrid
modules:- Renaming API entry points:
Protocol SearchService
toSearch
Class TomTomOnlineSearchService
toOnlineSearch
Class TomTomOnboardSearchService
toOfflineSearch
Class HybridSearchService
toHybridSearch
- Query structures to options (e.g., renaming
SearchQuery
toSearchOptions
) - Changing the signature of API methods by renaming query parameter to options
- Renaming API entry points:
Navigation
What is changing?
TomTomSDKCommon
:- Removing
constructor MatchedLocation.init
(location:predictions:mapPosition:probability:
) - Removing
var MatchedLocation.predictions
- Renaming
Enum StreamExecutionPolicy
toHybridRoutePlanner.ExecutionPolicy
and moving toTomTomSDKHybridRouting
- Removing
TomTomSDKNavigationEngine
:- Removing
constructor MapMatchingResult.init
(location:predictions:routeMatchingDetails:mapPosition:probability:
)
- Removing
TomTomSDKInternalDynamicRoutingApi
:- Removing
enum DynamicRoutingCommon
- Removing
- Renaming the following modules:
TomTomSDKOnboardLocationContextProviderEngine
>TomTomSDKLocationContextProviderEngineOffline
TomTomSDKOnboardMapMatchingEngine
>TomTomSDKMapMatchingEngineOffline
TomTomSDKOnlineSearch
>TomTomSDKSearchOnline
TomTomSDKOnboardSearch
>TomTomSDKSearchOffline
TomTomSDKHybridSearch
>TomTomSDKSearchHybrid
- Renaming the following functions:
GuidanceEngine.generateGuidance
(inputParameters:
) >generateGuidance
(navigationSnapshot:
)GuidanceEngine.generateLaneGuidance
(inputParameters:
) >generateLaneGuidance
(navigationSnapshot:
)LocationContextDetectionEngine.detectLocationContext
(matchedLocation:
) >detectLocationContext
(navigationSnapshot:
)NavKitLocationContextEngine.detectLocationContext
(matchedLocation:
) >detectLocationContext
(navigationSnapshot:
)TomTomDynamicGuidanceEngine.generateGuidance
(inputParameters:
) >generateGuidance
(navigationSnapshot:
)TomTomDynamicGuidanceEngine.generateLaneGuidance
(inputParameters:
) >generateLaneGuidance
(navigationSnapshot:
)TomTomGuidanceEngine.generateGuidance
(inputParameters:
) >generateGuidance
(navigationSnapshot:
)TomTomGuidanceEngine.generateLaneGuidance
(inputParameters:
) >generateLaneGuidance
(navigationSnapshot:
)OnboardLocationContextProviderEngine.detectLocationContext
(matchedLocation:
) >detectLocationContext
(navigationSnapshot:
)
Func GuidanceEngine.generateGuidance
(inputParameters:
) changingparameter 0 type
fromTomTomSDKNavigationEngine.GuidanceParams
toTomTomSDKNavigationEngine.NavigationSnapshot
Func GuidanceEngine.generateLaneGuidance
(inputParameters:
) changingparameter 0 type
fromTomTomSDKNavigationEngine.GuidanceParams
toTomTomSDKNavigationEngine.NavigationSnapshot
Func LocationContextDetectionEngine.detectLocationContext
(matchedLocation:
) changingparameter 0 type
fromTomTomSDKCommon.MatchedLocation
toTomTomSDKNavigationEngine.NavigationSnapshot
Func NavKitLocationContextEngine.detectLocationContext
(matchedLocation:
) changingparameter 0 type
fromTomTomSDKCommon.MatchedLocation
toTomTomSDKNavigationEngine.NavigationSnapshot
Func TomTomDynamicGuidanceEngine.generateGuidance
(inputParameters:
) changingparameter 0 type
fromTomTomSDKNavigationEngine.GuidanceParams
toTomTomSDKNavigationEngine.NavigationSnapshot
Func TomTomDynamicGuidanceEngine.generateLaneGuidance
(inputParameters:
) changingparameter 0 type
fromTomTomSDKNavigationEngine.GuidanceParams
toTomTomSDKNavigationEngine.NavigationSnapshot
Func TomTomGuidanceEngine.generateGuidance
(inputParameters:
) changingparameter 0 type
fromTomTomSDKNavigationEngine.GuidanceParams
toTomTomSDKNavigationEngine.NavigationSnapshot
Func TomTomGuidanceEngine.generateLaneGuidance
(inputParameters:
) changingparameter 0 type
fromTomTomSDKNavigationEngine.GuidanceParams
toTomTomSDKNavigationEngine.NavigationSnapshot
Func OnboardLocationContextProviderEngine.detectLocationContext
(matchedLocation:
) changingparameter 0 type
fromTomTomSDKCommon.MatchedLocation
toTomTomSDKNavigationEngine.NavigationSnapshot
- Changing
NavigationConfigurationBuilder
signature fromNavigationConfigurationBuilder
(apiKey: String, locationProvider: LocationProvider, routeReplanner: TomTomSDKRouteReplanner.RouteReplanner
) toNavigationConfigurationBuilder
(navigationKey: String, locationProvider: LocationProvider, routeReplanner: TomTomSDKRouteReplanner.RouteReplanner
) - Removing
RouteMatchingDetails
type - Changing
MapMatchingResult
type: removingpublic let routeMatchingDetails: RouteMatchingDetails
, and addingpublic let followedRouteIds: [UUID]
. - Changing initializer of
MapMatchingResult
from:
1public init(2 matchedLocation: MatchedLocation,3 timestamp: Measurement<UnitDuration> = .tt.seconds(0),4 predictions: [GeoLocation] = [],5 routeMatchingDetails: RouteMatchingDetails = RouteMatchingDetails(followedRoutesIds: []),6 alternativeMatchedLocations: [MatchedLocation] = )
to
1public init(2 matchedLocation: MatchedLocation,3 timestamp: Measurement<UnitDuration> = .tt.seconds(0),4 predictions: [GeoLocation] = [],5 followedRouteIds: [UUID] = [],6 alternativeMatchedLocations: [MatchedLocation] = )
Minor changes
TomTomSDKNavigationEngine
:- Adding var
MapMatchingResult.timestamp
- Adding var
MapMatchingResult.alternativeMatchedLocations
- Adding var
MatchedLocation.positionId
- Adding var
MatchedLocation.isOnRoad
- Adding var
MatchedLocation.direction
- Adding var
Announcing breaking changes: November 7, 2022
General
What is changing?
- Removing:
- Obsolete internal API
AudioConfigurationProvider
protocol from theTomTomSDKCommon
module. - Obsolete
IDGenerator
class from the public API of theTomTomSDKCommon
module. - Renaming:
TomTomSDKHTTPFramework
>TomTomSDKNetworking
TomTomSDKLocation
>TomTomSDKLocationProvider
TomTomSDKMapsDisplay
>TomTomSDKMapDisplay
TomTomSDKOnboardStyleProvider
>TomTomSDKStyleProviderOffline
TomTomSDKNavigationView
>TomTomSDKNavigationUI
TomTomSDKSystemTextToSpeechEngine
>TomTomSDKDefaultTextToSpeech
TomTomSDKOnboardMapDisplayDataProvider
>TomTomSDKMapDisplayDataProviderOffline
TomTomSDKDynamicRoutingApi
>TomTomSDKRouteReplanner
TomTomSDKOnlineDynamicRoutingApi
>TomTomSDKRouteReplannerDefault
TomTomSDKInternalDynamicRoutingApi
>TomTomSDKRouteReplannerInternal
TomTomSDKHybridDynamicRouting
>TomTomSDKRouteReplannerHybrid
TomTomSDKOnlineDynamicData
>TomTomSDKDynamicDataOnline
TomTomSDKOnboardDataManagement
>TomTomSDKDataManagementOffline
TomTomSDKRouting
>TomTomSDKRoutePlanner
TomTomSDKOnlineRouting
>TomTomSDKRoutePlannerOnline
TomTomSDKOnboardRouting
>TomTomSDKRoutePlannerOffline
TomTomSDKHybridRouting
>TomTomSDKRoutePlannerHybrid
TomTomSDKOnlineReverseGeocoder
>TomTomSDKReverseGeocoderOnline
TomTomSDKOnboardReverseGeocoder
>TomTomSDKReverseGeocoderOffline
TomTomSDKHybridReverseGeocoder
>TomTomSDKReverseGeocoderHybrid
TomTomSDKNavigationVisualizationAddon
>TomTomSDKAddonNavigationVisualization
TomTomSDKRangeVisualizationAddon
>TomTomSDKAddonRangeVisualization
TomTomSDKUIComponents
>TomTomSDKCommonUI
TomTomSDKTPEGTraffic
>TomTomSDKTrafficTPEG
TomTomSDKOnlineRouteProjectionEngine
>TomTomSDKRouteProjectionEngineTileStore
TomTomSDKOnboardStructuredSearch
>TomTomSDKStructuredSearchOffline
TomTomSDKOnboardVehicleHorizonEngine
>TomTomSDKHorizonEngineOffline
Minor changes
- Making utility network-related classes from the
TomTomSDKCommon
modulespi-internal
. - Making
ValueFormattingResult
andValueWithUnitFormatter
API fromTomTomSDKCommon
modulespi-internal
.
Routing
What is changing?
- Renaming:
RoutingService
>RoutePlanner
TomTomRoutingService
>OnlineRoutePlanner
OnboardRoutingService
>OfflineRoutePlanner
HybridRouting
>HybridRoutePlanner
RoutingOnlineService
>OnlineRoutingService
(API key management)- Removing:
OnlineRoutingService
and initializeOnlineRoutePlanner
with ROUTING_API_KEY directly
Navigation
What is changing?
- Removing language from Guidance public API.
Announcing breaking changes: October 31, 2022
General
What is changing?
- Mark as @_Spi internal classes/protocols in GoSDKCommon module.
LineOptions
introduced new properties: PatternAppearance and OutlineAppearance.- Renaming acronyms in function parameters, classes, protocols and variables. Examples:
- Id > ID,
- Uuid > UUID,
- annotationId > annotationID
LineOptions
introduced new properties:PatternAppearance
andOutlineAppearance
.
Maps
What is changing?
- Removing deprecated OnboardDataStoreUpdateContextEngine (use DataStoreUpdater).
- Renaming acronyms in function parameters, classes, protocols and variables. Examples:
- Id > ID,
- Uuid > UUID,
- annotationId > annotationID
- Marking in Common internal api as @_Spi.
Navigation
What is changing?
- Removing
PhoneticPair
,PhoneticStringPair
andPhoneticTranscription
from public API. - Removing
Announcement.maneuver
from public API. - Removing
VerbalMessageComposer
from public API. - Removing
VerbalMessageGeneration
from public API. - Removing
LaneGuidanceGenerator
from public API. - Renaming
isPossibleToCombineWithNext
tocombineWithNext
in public API. - Renaming
RoutePoint
toRouteStop
. - Renaming
DynamicRoutingApi
toRouteReplanner
. - Renaming
OnlineDynamicRoutingClient
toDefaultRouteReplanner
. - Renaming
HybridDynamicRouting
toHybridRouteReplanner
. - In
Navigation
classdelegate
property is removed.TomTomNavigationDelegate
protocol is also being removed. Instead, you should usedelegate
property ofNavigation
class andTomTomNavigationDelegate
protocol.
public func addNavigationObserver(_ observer: NavigationObserver)public func removeNavigationObserver(_ observer: NavigationObserver)
Methods of Navigation class
, and NavigationObserver
protocol respectively. Also, for subscribing on a specific events only, you can use specific methods like addStartObserver/removeStartObserver
and NavigationStartObserver
protocol, addProgressObserver/removeProgressObserver
and NavigationProgressObserver
protocol, etc. (see list of the methods of Navigation
class).
- In
Navigation
classdelegateError
property is removed.TomTomNavigationErrorDelegate
protocol is also being removed. Instead, you should usedelegateError
property ofNavigation
class andTomTomNavigationErrorDelegate
protocol.
public func addErrorObserver(_ observer: NavigationErrorObserver)public func removeErrorObserver(_ observer: NavigationErrorObserver)