I'm developing an iOS app for displaying my own custom map data (on GeoServer). The SDK I'm using to display my map is route-me (Alpstein fork) as the map viewer for now. route-me supports raster tiles (slippy tiles) and I'm OK with that for the most part, mostly for online mode. But I want to support both online maps and offline routing, plus, caching z17+ is a very bad practice because of the growth in number of tiles and the fact that very little part of these tiles will be viewed by users, and z17+ doesn't necessarily mean new data! we can use the same data and over zoom it. As part of my research, I have found that OSM protobuf format is a very efficient format for offline usage and routing but I cannot find any good renderer for the format! My scenario is: for z0-z17 I will load tiles from server with no problem ->from z17-z20 I will try and load a larger set (bbox from z15 of the tile, meaning 16 tiles around) and try to render the tile's bbox from osm.pbf and pass it to route-me as the tile and cache it like a normal tile.
The question now is: How can I render osm files in iOS?