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 7.0 and above using Objective-C, Swift, or Interface Builder. It takes stylesheets that conform to the Mapbox GL Style Specification, applies them to vector tiles that conform to the Mapbox Vector Tile Specification, and renders them using OpenGL.

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 contact our support team. We welcome your bug reports and feature requests.

Changes in version 3.2.0

  • If you’ve previously installed the SDK as a static framework, the installation workflow has changed to address issues when submitting your application to the App Store or installing it on a device. Upon upgrading to this version of the SDK, you’ll need to add Mapbox.bundle to the Copy Bundle Resources build phase and remove Mapbox.framework from the Embed Frameworks build phase. (#4455)
  • Offline packs can now be downloaded to allow users to view specific regions of the map offline. A new MGLOfflineStorage class provides APIs for managing MGLOfflinePacks. (#4221)
  • Tiles and other resources are cached in the same file that holds offline resources. The combined cache file is located in a subdirectory of the user’s Application Support directory, which means iOS will not delete the file when disk space runs low. (#4377)
  • Fixed an issue where the map view’s center would always be calculated as if the view occupied the entire screen. (#4504)
  • The user dot no longer disappears after panning the map across the antimeridian at low zoom levels. (#4275)
  • The map no longer recoils when panning quickly at low zoom levels. (#4214)
  • Fixed an issue causing the map to pan the wrong way when the user pinches unevenly. (#4427)
  • The maximum zoom level is capped at 21 due to rendering issues at higher zoom levels. (#4417)
  • An icon laid out along a line no longer appears if it would extend past the end of the line. Some one-way arrows no longer point the wrong way. (#3839)
  • Fixed warping of dashed lines near sharp corners. (#3914)
  • Telemetry location gathering now occurs only when the device is in motion. (#4115)
  • An account’s monthly active users metric only counts a user once a map view is displayed to that user. (#3713)
  • A .dSYM bundle is included with the dynamic framework to facilitate symbolication of crash logs.
  • Updated documentation to reflect the requirement that you must embed the dynamic framework in the “Embedded Binaries” section in Xcode. (#4011)
  • Polygons and polylines now default to using the map view’s tint color. (#4028)
  • The user dot no longer lags when panning the map. (#3683)
  • The Improve This Map tool now uses the same zoom level that is currently being shown in the map view. (#4068)
  • Fixed a formatting issue in the documentation for MGLCoordinateBoundsIsEmpty(). (#3958)