-
Notifications
You must be signed in to change notification settings - Fork 318
Upgrading from v1.x to v2.0.x
Mapbox Navigation SDK for iOS v2.0.0 is a major new version of the SDK. To upgrade, follow the installation instructions. Note that the MapboxNavigation framework’s Carthage support has been discontinued in favor of Swift Package Manager.
Starting with version v2.0.0, the Mapbox Navigation SDK is licensed under the Mapbox Terms of Service, a proprietary license. It is no longer available under the permissive ISC License.
Version 2.0.0 includes numerous important changes to the public APIs of the MapboxNavigation and MapboxCoreNavigation frameworks as well as their dependencies. There are several backwards-incompatible changes to be aware of as you upgrade, which are discussed below and divided by framework so that you can upgrade different portions of your application at different times.
- Supported dependency managers:
- Swift Package Manager (new)
- CocoaPods
- Carthage (MapboxCoreNavigation only; MapboxNavigation no longer supported)
- Minimum Xcode version required to build the SDK: 12.4 (11.x no longer supported)
- Minimum iOS deployment target: 11.0 (10.x no longer supported)
Symbols renamed or replaced:
- Renamed
BoundingBox(_:_:)
toBoundingBox(southWest:northEast:)
.
- The preferred way to set your Mapbox access token is to set the
MBXAccessToken
key in your application’s Info.plist.MGLMapboxAccessToken
is still supported as a deprecated fallback.
- The preferred way to set your Mapbox access token is to set the
MBXAccessToken
key in your application’s Info.plist.MGLMapboxAccessToken
is still supported as a deprecated fallback.
Mapbox Maps SDK v10 introduces 3D terrain, improves performance, and upgrades from OpenGL to Metal. Please consult the v10 migration guide, which details many changes that likely affect your application’s user interface code.
Other changes:
- The preferred way to set your Mapbox access token is to set the
MBXAccessToken
key in your application’s Info.plist.MGLMapboxAccessToken
is no longer supported.
Symbols renamed or replaced:
- Removed obsoleted
NavigationMapView.navigationMapDelegate
, which was replaced byNavigationMapView.delegate
. - Renamed
NavigationMapView.navigationMapViewDelegate
toNavigationMapView.delegate
. - Renamed
NavigationMapViewController.mapView
toNavigationMapViewController.navigationMapView
. - Removed
NavigationAnnotation
. -
NavigationMapView.updateCourseTracking(location:camera:animated:)
accepts aCameraOptions
as an argument instead of anMGLMapCamera
. - Removed
NavigationMapView.showsUserLocation
, becauseNavigationMapView
no longer inherits fromMGLMapView
.NavigationMapView.mapView
is now exposed as public property instead. - Changed the type of
NavigationViewController.pendingCamera
fromMGLMapCamera
toCameraOptions
. - Renamed the
Constants.MBRouteLineWidthByZoomLevel
variable toConstants.MBRouteLineWidthByZoomLevel
, which now acceptsDouble
for keys and values. - Renamed the
MBCurrentLegAttribute
property toCurrentLegAttribute
. - Renamed the
MBCongestionAttribute
property toCongestionAttribute
. - Renamed
NavigationViewController.mapView
toNavigationViewController.navigationMapView
. - Renamed
NavigationMapView.highlightBuildings(at:in3D:)
toNavigationMapView.highlightBuildings(at:in3D:completion:)
.
Symbols renamed or replaced:
-
PassiveLocationManager
now conforms toLocationProvider
protocol instead ofMGLLocationManager
. - Changed the type of the
PassiveLocationManager.delegate
property fromMGLLocationManagerDelegate
toLocationProviderDelegate
. - Replaced the
PassiveLocationManager.accuracyAuthorization()
method with thePassiveLocationManager.accuracyAuthorization
property, which now returnsCLAccuracyAuthorization
instead ofMBNavigationAccuracyAuthorization
. - Renamed
PassiveLocationManager.startUpdatingLocation(completionHandler:)
toPassiveLocationManager.startUpdatingLocation()
. This method now runs synchronously likeCLLocationManager.startUpdatingLocation()
.
Symbols renamed or replaced:
- Removed the deprecated
CarPlayNavigationDelegate.carPlayNavigationViewControllerDidArrive(_:)
method. - Renamed
CarPlayManager.mapView
toCarPlayManager.navigationMapView
. - Removed the deprecated
CarPlayManager.overviewButton
property. - Removed the unused
CarPlayNavigationViewController.drivingSide
property.
Symbols renamed or replaced:
- Removed the deprecated
InstructionsBannerViewDelegate.didDragInstructionsBanner(_:)
method. - Removed the unused
NavigationViewController.origin
property.
If you have any questions, please contact Mapbox’s support team.