We are currently enhancing the open source MapBox iOS SDK to further take advantage of our unlimited caching policy on device for iOS apps. Now developers can simply provide a bounding box and a zoom range and the SDK will automatically take care of downloading the map tiles necessary to go completely offline in that area. The SDK can automatically determine when tiles are already present in the cache, whether by previous partial downloads or from normal map usage by the user, and pick up where it left off the next time a download session is requested. Soon, we plan to have functionality to also automatically throttle the bandwidth based on the type of connectivity, as well as to allow apps to continue downloading map tiles when the app moves into the background, optionally even notifying the user with a push notification.

We’re also working on a user interface element that will allow for easy adaptation of a picker interface into your apps in order to kick off these types of cache downloads, making it easy for the user to indicate what parts of the map they’d like to take offline.

Apps such as the recently released Bass Pro Shops MyGuide: Hunt can take advantage of these features combined with our caching policy to go completely offline. This has a multitude of uses, from backcountry hunting apps like MyGuide to international travel apps that allow users to avoid expensive data roaming charges, to apps that allow use on airplanes without wifi service, allowing for travel planning or tracking the current flight. With the powerful features already present in the SDK combined with offline capability, many new mapping opportunities are now possible.

You can follow development of this work in the MapBox iOS SDK on its GitHub repository in this feature branch [Edit: now released], and you can contact me on Twitter as @incanus77 with any questions.

Photo Credit: Michael Newton