Hello! This is definitely something possible with the MapKit Framework. Probably it's not straightforward but possible!
A couple of documentation you might find useful:
MKDirections: You can use this class to get turn-by-turn directions from point A to point B. E.g. you can call
let directions: MKDirections = .init(request: request)
directions.calculate { handler in ... }
MKLocalSearch: You can use this class to search for locations. Maybe the user search destinations through a search bar, you can use MKLocalSearch to get all the places like a city or a shop.
MKMapView: You can use the MKMapView UIKit view to display the map itself and add annotations or turn-by-turn directions in it.
Hope this answer your question!