Lately I had to implement an offline solution for maps in iOS. After doing some research I decided to use an Open Source library called route-me.
I had some trouble getting to embed it with my project and finally I found a small guide over here. I decided to reblog this so here it goes.

  • Select File->Add Files to “YourProjectName”
    • Select MapView.xcodeproj
    • DON’T select Copy into destination group’s folder
    • Add to target “YourProjectNameAppTarget” should be selected
  • If you did it right, you should have MapView.xcodeproj listed as a file with 5 targets.
  • Select the “YourProjectName” in the Groups and File Sidebar
    • In the Editor Window select the “YourProjectNameAppTarget” target
    • Select “Build Phases” in the Editor Window top bar
      • Expand “Target Dependencies”
        • Select + in “Target Dependencies” to add dependency
        • Under “MapView” select “MapView” (NOT MapView-framework) and Add
      • Expand “Link Binary With Libraries”
        • Unless already present add:
          • CoreGraphics.framework
          • CoreLocation.framework
          • QuartzCore.framework
          • libsqlite3.dylib (NOT libsqlite3.0.dylib!?)
          • libMapView.a (in my case I get a red color at the library but everything seems works fine)
  • Select “Build Settings” in the Editor Window top bar
    • Select “All” right under the Editor Window top bar
    • Scroll down to “Search Paths” section and expand
      • In Header Search PathsSelect Debug and Add
        • Any Architecture | Any SDK should be set
        • Double Click on path window, just at the right next to Debug/Any Architecture | Any SDK
          • Add “RelativeToYourProjectMapViewFolderPath” (for me its “../route-me/MapView”
      • Select Release and Add
        • Any Architecture | Any SDK should be set
        • Double Click on path window, just at the right next to Debug/Any Architecture | Any SDK
          • Add “RelativeToYourProjectMapViewFolderPath” (for me its “../route-me/MapView”

By now you should be all set. Remember checking your code signing and to refer to route-me mailing list for any further problems you may encounter.