Our iOS SDK has reached version 1.0.0, marking completion of the first stage of functionality and stability. From the SDK’s beginning last year – rooted in an open source project – we’ve been constantly iterating on the framework, making it more robust, easier to install and use, faster and more flexible. I’m going to recap the latest new features that we’ve added, as well as take a look through the past year’s roadmap that lead to today’s milestone.

New in 1.0.0

Like our other releases, the latest version includes lots of new features. Here’s a sampling.

  • Support for Automatic Reference Counting (ARC) for easier memory management.
  • Added delegate callbacks for annotation selection & deselection notification.
  • Improved documentation, especially for offline tile caching.
  • Added a new code examples gallery.
  • Added a long press gesture recognizer for annotation layers.
  • Added an API for setting an SDK-wide custom user-agent string for network requests.
  • Added a convenience method for MBTiles tile sources to more easily find them in your app’s bundle.
  • Allow selection of a nil annotation in order to deselect the current annotation.
  • Added an API for clearing MapBox marker local caching.
  • Map views now default to a watermarked MapBox Streets map instead of OpenStreetMap.
  • User location accuracy circle now bounces when first homing in on coordinate.
  • Compass heading path now adjusts width based on heading accuracy reading.
  • Annotation clustering API is now much simpler and easier to use.
  • Privatized some header files to reduce clutter during Xcode autocompletion.
  • Latest upstream improvements, including constraints, annotation z-ordering, and bounding box fixes.
  • Code cleanups, consistency tweaks, and bug fixes.

The road here

Here’s a quick recap of the past year in reaching this 1.0.0 milestone.

April

After nearly two years of working with open source map frameworks in our projects, we release a beta of the MapBox iOS SDK based on the Route-Me library with plans for improving it in many areas. Included is general documentation, a new example app, a mobile apps guide, and a support forum.

Shortly afterwards, we announce intentions to add MapKit-like user location services to the SDK, releasing a beta branch of the SDK and the MapBox Me app.

May

We announce that we’ve added billions of additional map tiles, making MapBox Streets retina display compatible.

We announce unlimited device caching of MapBox maps for offline use.

And we release a five minute screencast showing how easy it is to design a custom map and get it into your native app.

June

Maintaining tight integration between web and native maps, we launch MapBox markers and simplestyle, along with a new sample app, Weekend Picks.

At Apple’s World Wide Developer Conference (WWDC) in San Francisco, we host a Geo Lunch with dozens of attendees during an exciting week filled with Apple maps news.

July & August

In July, while continuing to refine features and functionality, we also release a binary framework of the SDK, making installation incredibly simple and slashing app compilation time.

August sees the 0.4.0 release of the SDK, bringing CocoaPods integration for effortless installation and updating, and Xcode native and web-based API documentation.

September & October

In the Fall, two very popular apps launch using the SDK. Bass Pro Shops launches MyGuide: Hunt, capitalizing on MapBox’s liberal offline caching policy to allow outdoors enthusiasts to take their digital maps with them. And a new work of digital fiction, The Silent History, debuts using highly custom maps that change based on time of day, as well as an innovative location-based story unlocking feature that ties in local surroundings, completely immersing the reader.

November

November sees the 0.5.0 SDK release, bringing an automatic tile caching background downloader, MapKit-like animated marker callouts, tighter integration with MapBox hosting and TileMill map design, and further improvements to the install process.

December

Before ringing in the new year and working towards polishing our 1.0.0 release, we updated our offline caching policy to clearly indicate developers’ ability to take satellite imagery offline, too – something no other map provider is allowing. This is all built right into the SDK, making it extremely easy to take aerial views of the world with you everywhere, right in your pocket.

Make some apps!

It’s been a wild ride getting this SDK to the point it’s at now. Whether you’re looking for a completely custom color scheme, offline use, beautiful satellite imagery, open source code that you can improve and fix yourself, or strong tie-ins between web and native maps, MapBox has you covered. Something you’d like that we aren’t doing yet? As always, drop us a line on Twitter at @MapBox, or you can reach me on Twitter or App Dot Net. We’re looking forward to seeing your apps!