Releases: mapbox/mapbox-navigation-ios
Releases · mapbox/mapbox-navigation-ios
v0.39.0
- Upgraded to Mapbox Maps SDK for iOS v5.5.1. (#2341)
- Fixed an issue where the spoken instructions always fell back to VoiceOver when the
MGLMapboxAPIBaseURLkey was set in the Info.plist file. (#2329) - Fixed a crash when setting certain properties of a
Stylesubclass to a dynamic color. (#2338)
Documentation is available online or within Xcode.
v0.38.3
- Fixed a crash on launch if this SDK is installed using Carthage. (#2317)
- Fixed a crash when the first visual instruction contained a route shield or exit number and the application’s user interface was written in SwiftUI. (#2323)
- Fixed an issue where a black background could appear under the arrow in a
ManeuverViewregardless of the view’sbackgroundColorproperty. (#2279) - Fixed an issue where the wrong style was applied to exit numbers in the top banner and for subsequent maneuver banners in CarPlay, resulting in poor contrast. (#2280)
Documentation is available online or within Xcode.
v0.37.2
v1.0.0-alpha.1
Packaging
- This SDK can no longer be used in applications written in pure Objective-C. If you need to use this SDK’s public API from Objective-C code, you will need to implement a wrapper in Swift that bridges the subset of the API you need from Swift to Objective-C. (#2230)
- Upgraded to Mapbox Maps SDK for iOS v5.6.x. (#2302)
Top and bottom banners
- Removed
BottomBannerViewController(delegate:)in favor ofBottomBannerViewController()and theBottomBannerViewController.delegateproperty’s setter. (#2297) - Removed the
StatusView.canChangeValueproperty in favor ofStatusView.isEnabled. (#2297) - Fixed an issue where the wrong style was applied to exit numbers in the top banner and for subsequent maneuver banners in CarPlay, resulting in poor contrast. (#2161)
- Fixed an issue where a black background could appear under the arrow in a
ManeuverViewregardless of the view’sbackgroundColorproperty. (#2279)
Map
UserCourseViewis now a type alias of theUIViewclass and theCourseUpdatableprotocol rather than a protocol in its own right. (#2230)- Renamed
NavigationMapView.showRoutes(_:legIndex:)toNavigationMapView.show(_:legIndex:). (#2230) - Renamed
NavigationMapView.showWaypoints(_:legIndex:)toNavigationMapView.showWaypoints(on:legIndex:). (#2230) - Removed the
NavigationMapView.navigationMapDelegateproperty in favor ofNavigationMapView.navigationMapViewDelegate. (#2297) - Added a speed limit indicator to the upper-left corner of the map view during turn-by-turn navigation (upper-right corner in CarPlay). To hide the speed limit indicator, set the
NavigationViewController.showsSpeedLimitsproperty tofalse. To customize the indicator’s colors, configureSpeedLimitView’s appearance proxy inside aStylesubclass. (#2291)
Spoken instructions
- Removed
MapboxVoiceController.play(_:)in favor ofMapboxVoiceController.play(instruction:data:). (#2230, #2297) - The
MapboxVoiceController.speakWithDefaultSpeechSynthesizer(_:error:)andVoiceControllerDelegate.voiceController(_:spokenInstructionsDidFailWith:)methods now accept aSpeechErrorinstance instead of anNSErrorobject. (#2230) - Added the
VoiceControllerDelegate.voiceController(_:didFallBackTo:becauseOf:)method for detecting when the voice controller falls back toAVSpeechSynthesizer. (#2230)
User location
- Removed the
NavigationViewController.routeControllerproperty andLegacyRouteController(along:directions:dataSource:eventsManager:). To useLegacyRouteControllerinstead of the defaultRouteControllerclass, pass that type intoMapboxNavigationService(route:directions:locationSource:eventsManagerType:simulating:routerType:), pass theMapboxNavigationServiceobject intoNavigationOptions(styles:navigationService:voiceController:topBanner:bottomBanner:), and pass theNavigationOptionsobject intoNavigationViewController(route:navigationService:). To accessLegacyRouteController, use theNavigationViewController.navigationServiceandNavigationService.routerproperties and cast the value ofNavigationService.routerto aLegacyRouteController. (#2297) - Removed the
NavigationViewController.locationManagerandLegacyRouteController.locationManagerproperties in favor ofNavigationService.locationManager. (#2297) - Removed
RouteLegProgress.upComingStepin favor ofRouteLegProgress.upcomingStep. (#2297) - Removed the
RouteProgress.nearbyCoordinatesproperty in favor ofRouteProgress.nearbyShape. (#2275, #2275) - Removed the
LegacyRouteController.tunnelIntersectionManagerproperty. (#2297)
Other changes
- Since pure Swift protocols cannot have optional methods, various delegate protocols now provide default no-op implementations for all their methods and conform to the
UnimplementedLoggingprotocol, which can inform you at runtime when a delegate method is called but has not been implemented. Messages are sent through Apple Unified Logging and can be disabled globally through Unifed Logging, or by overriding the delegate function with a no-op implementation. (#2230) - Removed
NavigationViewController(for:styles:navigationService:voiceController:)andNavigationViewController(for:directions:styles:routeController:locationManager:voiceController:eventsManager:)in favor ofNavigationViewController(route:options:). (#2297) - Removed the
EventsManagertype alias in favor of theNavigationEventsManagerclass. (#2297) - Removed the
NavigationViewController.eventsManagerandLegacyRouteController.eventsManagerproperties in favor ofNavigationService.eventsManager. (#2297) - Removed the
NavigationViewController.carPlayManager(_:didBeginNavigationWith:window:delegate:)andNavigationViewController.carPlayManagerDidEndNavigation(_:window:)methods. To mirror CarPlay navigation on the main device, present and dismiss aNavigationViewControllerin theCarPlayManagerDelegate.carPlayManager(_:didBeginNavigationWith:)andCarPlayManagerDelegate.carPlayManagerDidEndNavigation(_:)methods, respectively. (#2297) - When Dark Mode is enabled, user notifications now draw maneuver icons in white instead of black for better contrast. (#2283)
- Added the
RouteLegProgress.currentSpeedLimitproperty. (#2114)
Documentation is available online or within Xcode.
v0.38.2
v0.37.1
v0.38.1
v0.38.0
- This library now requires a minimum deployment target of iOS 10.0 or above. iOS 9.x is no longer supported. (#2206)
- Fixed an issue where the user puck appeared farther up the screen than the actual user location even while the camera pivoted around the user location at turns. (#2211)
- Lock screen notifications are presented more reliably and more closely resemble instruction banners. (#2206)
- Fixed an issue where manually incrementing
RouteProgress.legIndexcould lead to undefined behavior. (#2229) DistanceFormatternow inherits directly fromFormatterrather thanLengthFormatter. (#2206)- Fixed an issue where
DistanceFormatter.attributedString(for:withDefaultAttributes:)setNSAttributedString.Key.quantityto the original distance value rather than the potentially rounded value represented by the attributed string. (#2206)
Documentation is available online or within Xcode.
v0.37.0
- Fixed an issue where a second swipe down on the top banner causes an open
StepsTableViewControllerto animate incorrectly. (#2197) - Added the
NavigationViewControllerDelegate.navigationViewController(_:didUpdate:location:rawLocation:)method for capturing progress updates without having to inject a class between theNavigationViewControllerand theNavigationService. (#2224) - Fixed an issue where the bottom banner can disappear when presenting in
UIModalPresentationStyle.fullScreenin iOS 13. (#2182)
Documentation is available online or within Xcode.
v0.36.0
- Fixed an issue where InstructionsBannerView remained the same color after switching to a day or night style. (#2178)
- Fixed an issue where
NavigationMapViewshowed routes without congestion attributes, such asMBDirectionsProfileIdentifier.walkingroutes, as translucent lines, even if the route had only one leg. (#2193) - Fixed an issue where the “iPhone Volume Low” banner would persist until replaced by another banner about simulation or rerouting. (#2183)
- Designables no longer crash and fail to render in Interface Builder when the application target links to this SDK via CocoaPods. (#2179)
- Fixed a crash that could occur when statically initializing a
Styleif the SDK was installed using CocoaPods. (#2179) - Fixed incorrect animation of instruction labels when presenting the step list. (#2185)
Documentation is available online or within Xcode.