Mapbox Maps SDK for iOS

The Mapbox Maps SDK for iOS is an open-source framework for embedding interactive map views with scalable, customizable vector maps into Cocoa Touch applications on iOS 9.0 and above using Objective-C, Swift, or Interface Builder. It takes stylesheets that conform to the Mapbox Style Specification, applies them to vector tiles that conform to the Mapbox Vector Tile Specification, and renders them using OpenGL.

Mapbox Maps SDK for iOS screenshots

For setup information, check out the Mapbox Maps SDK for iOS homepage. For detailed usage instructions, read “First steps with the Mapbox Maps SDK for iOS” and consult the online examples. A full changelog is also available.

If you have any questions, please see our help page. We welcome your bug reports, feature requests, and contributions.

Changes in version 4.1.0


  • The minimum deployment target for this SDK is now iOS 9.0. (#11776)

Style layers

  • Added support for aggregate expressions as input values to MGL_MATCH expressions. (#11866)
  • Fixed an issue that made MGLSymbolStyleLayer flicker when straddling the antimeridian. (#11938)

Other changes

  • Unknown tokens in URLs are now preserved, rather than replaced with an empty string. (#11787)
  • Adjusted when and how the camera transition update and finish callbacks are called, fixing recursion bugs. (#11614)
  • Improved application launch performance. (#11784)
  • Fixed an issue preventing nested key path expressions get parsed accordingly to the spec. (#11959)
  • Added custom -hitTest:withEvent: to MGLSMCalloutView to avoid registering taps in transparent areas of the standard annotation callout. (#11939)
  • Improved performance and memory impact of MGLScaleBar. (#11921)
  • Fixed race conditions that could cause crashes when re-using MGLMapSnapshotter or using multiple snapshotters at the same time. (#11831)
  • Fixed an issue where an empty MGLFeatures array caused high CPU utilization. (#11985)
  • Improved offline download performance. (#11284)
  • Fixed an issue that caused -[MGLMapView visibleFeaturesAtPoint:] to return an empty array when adding or removing features. (#12076)
  • Fixed crash in -[MGLStyle localizeLabelsIntoLocale:] on iOS 9.3 (attempting to access a property that was introduced in iOS 10.0) (#12123)