Releases: mapbox/mapbox-navigation-ios
Releases · mapbox/mapbox-navigation-ios
v0.19.3
- Fixes an issue which caused 0.19.2 to incorrectly install incompatible dependencies upon pod update.
Documentation is available online or within Xcode.
v0.22.3
- Fixed over-retain issue that resulted in the
MapboxNavigationService
persisting beyond its expected lifecycle. This could cause unexpected behavior with components that observe progress noitifications. - Fixed warnings caused by internal usage of deprecated types.
Documentation is available online or within Xcode.
v0.22.2
User interface
- Fixed an issue where the U-turn icon in the turn banner pointed in the wrong direction. (#1647)
- Fixed an issue where the user puck was positioned too close to the bottom of the map view, underlapping the current road name label. (#1766)
- Added
InstructionsBannerView.showStepIndicator
to enable showing/hiding the drag indicator (#1772)
Telemetry
- Renamed
EventsManager
toNavigationEventsManager
. (#1767) - Added support in
NavigationEventsManager
that allows for routeless events. (#1767)
Documentation is available online or within Xcode.
v0.22.1
User Location
- Added ability to adjust
poorGPSPatience
of aNavigationService
. #1763 - Increased default Poor-GPS patience of
MapboxNavigationService
to 2.5 seconds. #1763 - Fixed an issue where the map view while navigating in CarPlay displayed the day style even at night. (#1762)
Documentation is available online or within Xcode.
v0.22.0
Packaging
- Added a dependency on the Mapbox Navigation Native framework. If you use Carthage to install this framework, your target should also link against
MapboxNavigationNative.framework
. (#1618)
User location
- Added a
NavigationService
protocol implemented by classes that provide location awareness functionality. Our default implementation,MapboxNavigationService
conforms to this protocol. (#1602)- Added a new
Router
protocol, which allows for custom route-following logic. Our default implementation,RouteController
, conforms to this protocol. NavigationViewController.init(for:styles:directions:styles:routeController:locationManager:voiceController:eventsManager)
has been renamedNavigationViewController.init(for:styles:navigationService:voiceController:)
.NavigationViewController.routeController
has been replaced byNavigationViewController.navigationService
.- If you currently use
RouteController
directly, you should migrate toMapboxNavigationService
. - If you currently use
SimulatedLocationManager
directly, you should instead passSimulationOption.always
intoMapboxNavigationService(route:directions:locationSource:eventsManagerType:simulating:)
. - Note: the
MapboxNavigationService
, by default, will start simulating progress if more than 1.5 seconds elapses without any update from the GPS. This can happen when simulating locations in Xcode, or selecting the "Custom Location" simulation option in the iOS Simulator. This is normal behavior.
- Added a new
- Improved the reliability of off-route detection. (#1618)
User interface
StyleManagerDelegate.locationFor(styleManager:)
has been renamed toStyleManagerDelegate.location(for:)
(#1724)- Fixed inaccurate maneuver arrows along the route line when the route doubles back on itself. (#1735)
- Added an
InstructionsBannerView.swipeable
property that allows the user to swipe the banner to the side to preview future steps. TheInstructionsBannerViewDelegate.didDragInstructionsBanner(_:)
method has been deprecated in favor ofInstructionsBannerViewDelegate.didSwipeInstructionsBanner(_:swipeDirection:)
. (#1750) NavigationMapView
no longer mutates its own frame rate implicitly. A newNavigationMapView.updatePreferredFrameRate(for:)
method allows you to update the frame rate in response to route progress change notifications. TheNavigationMapView.minimumFramesPerSecond
property determines the frame rate while the application runs on battery power. By default, the map views inNavigationViewController
and CarPlay’s navigation activity animate at a higher frame rate on battery power than before. (#1749)- Fixed a crash that occurred when the end of route view controller appears, showing the keyboard. (#1754)
Documentation is available online or within Xcode.
v0.21.0
User interface
- In CarPlay-enabled applications on iOS 12, this SDK now displays a map, search interface, and turn-by-turn navigation experience on the connected CarPlay device. The CarPlay screen is managed by the shared
CarPlayManager
object, which you can configure by implementing theCarPlayManagerDelegate
protocol. (#1714) - Added the
Style.previewMapStyleURL
property for customizing the style displayed by a preview map. (#1695)
User location
- Breaking change: The
eventsManager
argument ofRouteController(along:directions:locationManager:eventsManager:)
is now required.NavigationViewController(for:directions:styles:locationManager:voiceController:eventsManager:)
now has an optionaleventsManager
argument, which is passed to any instance ofRouteController
created as a result of rerouting. (#1671) - Fixed issues where the user puck would overshoot a turn or drift away from a curved road. (#1710)
- Fixed incorrect conversions to inches in
DistanceFormatter
. (#1699) - Fixed several crashes related to telemetry collection. (#1668)
Documentation is available online or within Xcode.
v0.20.1
- Upgraded mapbox-events-ios to v0.5.0 to avoid a potential incompatibility when using Carthage to install the SDK.
- Fixed a bug which prevented automatic day and night style switching. (#1629)
Documentation is available online or within Xcode.
v0.20.0
User interface
- While traveling on a numbered road, the route number is displayed in a shield beside the current road name at the bottom of the map. (#1576)
- Added the
shouldManageApplicationIdleTimer
flag toNavigationViewController
to allow applications to opt out of automaticUIApplication.isIdleTimerDisabled
management. (#1591) - Added various methods, properties, and initializers to
StatusView
, allowing you to use it in a custom user interface. (#1612) - Added
StyleManager.automaticallyAdjustsStyleForTimeOfDay
,StyleManager.delegate
, andStyleManager.styles
properties so that you can control same time-based style switching just asNavigationViewController
does. (#1617) - Fixed an issue where the banner was stuck on rerouting past the reroute threshold when simulating navigation. (#1583)
- Fixed an issue where the banner appears in the wrong colors after you tap the Resume button. (#1588, #1589)
NavigationMapView
’s user puck now responds to changes to the safe area insets while tracking the user’s location, matching the behavior of the map camera. (#1653)- Added
StepsViewControllerDelegate
andInstructionsBannerViewDelegate
which makes it possible to listen in on tap events that occur inStepsViewController
andInstructionsBannerView
. (#1633)
Feedback
- Added a
FeedbackViewController
class for soliciting feedback from the user in a custom user interface. (#1605) - Replaced
NavigationViewControllerDelegate.navigationViewControllerDidOpenFeedback(_:)
withFeedbackViewControllerDelegate.feedbackViewControllerDidOpen(_:)
,NavigationViewControllerDelegate.navigationViewControllerDidCancelFeedback(_:)
withFeedbackViewControllerDelegate.feedbackViewController(_:didSend:uuid:)
, andNavigationViewControllerDelegate.navigationViewController(_:didSendFeedbackAssigned:feedbackType)
withFeedbackViewControllerDelegate.feedbackViewControllerDidCancel(_:)
. (#1605) - Fixed a crash that occurred when the end of route view controller appears, showing the keyboard. (#1599)
Other changes
- Added a
MapboxVoiceController.audioPlayer
property. You can use this property to interrupt a spoken instruction or adjust the volume. (#1596) - Fixed a memory leak when
RouteController.isDeadReckoningEnabled
is enabled. (#1624)
Documentation is available online or within Xcode.
v0.19.2
- The
MGLStyle.navigationGuidanceDayStyleURL
andMGLStyle.navigationGuidanceNightStyleURL
properties now return version 4 of the Mapbox Navigation Guidance Day and Night styles, respectively. These styles indicate incidents such as road closures and detours. (#1619) - Added an
MGLMapView.showsIncidents
property to toggle the visibility of any Mapbox Incidents data on a map view. (#1613)
Documentation is available online or within Xcode.