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)
- Unless already present add:
- Expand “Target Dependencies”
- 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”
- In Header Search PathsSelect Debug and Add
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.