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 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 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.0.0


  • Removed support for 32-bit simulators. (#10962)
  • Added a Hebrew localization. (#10967)

Styles and rendering

  • The layout and paint properties on subclasses of MGLStyleLayer are now of type NSExpression instead of MGLStyleValue. A new “Predicates and Expressions” guide provides an overview of the supported operators. (#10726)
  • Added an MGLComputedShapeSource class that allows applications to supply vector data to a style layer on a per-tile basis. (#9983)
  • A style can now display smooth hillshading and customize its appearance at runtime using the MGLHillshadeStyleLayer class. Hillshading is based on a rasterized digital elevation model supplied by the MGLRasterDEMSource class. (#10642)
  • The MGLSymbolStyleLayer.textFontNames property can now depend on a feature’s attributes. (#10850)

Map rendering


Map snapshots

  • Fixed a memory leak that occurred when creating a map snapshot. (#10585)
  • Fixed an issue that caused MGLMapSnapshotter.pointForCoordinate to return an incorrect value. (#11035)

Other changes

  • Feature querying results now account for the MGLSymbolStyleLayer.circleStrokeWidth property. (#10897)
  • Fixed an issue preventing labels from being transliterated when VoiceOver was enabled on iOS 10.x and below. (#10881)
  • Labels are now transliterated from more languages when VoiceOver is enabled. (#10881)
  • Long-pressing the attribution button causes the SDK’s version number to be displayed in the action sheet that appears. (#10650)