Mapbox iOS SDK

The Mapbox iOS SDK is an open-source framework for embedding interactive map views with scalable, customizable vector maps into Cocoa Touch applications on iOS 8.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 iOS SDK screenshots

For setup information, check out the Mapbox iOS SDK homepage. For detailed usage instructions, read “First steps with the Mapbox iOS SDK” 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 3.7.0

Networking and storage

  • Added a new MGLMapSnapshotter class for capturing rendered map images from an MGLMapView’s camera. (#9891)
  • Reduced the time it takes to create new MGLMapView instances in some cases. (#9864)
  • Added support for forced cache revalidation that will eliminate flickering that was sometimes visible for certain types of tiles (e.g., traffic tiles). (#9670, #9103)
  • Improved the performance of the SDK when parsing vector tile data used to render the map. (#9312)



  • Fixed several bugs and performance issues related to the use of annotations backed by MGLAnnotationImage. The limits on the number and size of images and glyphs has been effectively eliminated and should now depend on hardware constraints. These fixes also apply to images used to represent icons in MGLSymbolStyleLayer. (#9213)
  • Added an overlays property to MGLMapView. (#8617)
  • Selecting an annotation no longer sets the user tracking mode to MGLUserTrackingModeNone. (#10094)
  • Added -[MGLMapView cameraThatFitsShape:direction:edgePadding:] to get a camera with zoom level and center coordinate computed to fit a shape. (#10107)
  • Added support selection of shape and polyline annotations.(#9984)
  • Fixed an issue where view annotations could be slightly misaligned. View annotation placement is now rounded to the nearest pixel. (#10219)
  • Fixed an issue where a shape annotation callout was not displayed if the centroid was not visible. (#10255)

User interaction

Other changes

  • Added a Bulgarian localization. (#10309)
  • Fixed an issue that could cause line label rendering glitches when the line geometry is projected to a point behind the plane of the camera. (#9865)
  • Fixed an issue that could cause a crash when using -[MGLMapView flyToCamera:completionHandler:] and related methods with zoom levels at or near the maximum value. (#9381)
  • Added -[MGLMapView showAttribution:] to allow custom attribution buttons to show the default attribution interface. (#10085)
  • Fixed a conflict between multiple copies of SMCalloutView in a project. (#10183)
  • Fixed a crash when enabling the scale bar in iOS 8. (#10241)