iosmapboxmapbox-ios

NavigationServiceDelegate methods are not being called in custom bottomBanner


I have a custom bottomBanner class that conforms to ContainerViewController

class TurnByTurnBottomBannerControllerV3: ContainerViewController {
    func navigationService(_ service: NavigationService, didUpdate progress: RouteProgress, with location: CLLocation, rawLocation: CLLocation) {
        print("[==] didUpdate progress")
    }
}

but didUpdate is not being called. I checked that didUpdate is supposed to be called from this part of code:

public func navigationService(_ service: NavigationService, didUpdate progress: RouteProgress, with
location: CLLocation, rawLocation: CLLocation) {
    //Check to see if we're in a tunnel.
    checkTunnelState(at: location, along: progress)
    
    //Pass the message onto our navigation components
    for component in navigationComponents {
        component.navigationService(service, didUpdate: progress, with: location, rawLocation:
rawLocation)
    }
    ...

And it is called from that loop(one of the componets is TurnByTurnBottomBannerControllerV3),

(lldb) po navigationComponents
▿ 3 elements
  ▿ 0 : <MapboxNavigation.RouteMapViewController: 0x10b911a00>
  ▿ 1 : <MapboxNavigation.TopBannerViewController: 0x10b879e00>
  - 2 : <ProjectName.TurnByTurnBottomBannerControllerV3: 0x122e54170>

but for some reason I'm not receiving the call in the delegate implementation. Not sure what I'm doing wrong. Any suggestions?


Solution

  • Turned out I have a class called NavigationService and Xcode just doesn't notify me in any way that it is conflicting with the library one.