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

Packaging

  • The minimum deployment target for this SDK is now iOS 9.0. (#11776)
  • Removed support for the Fabric distribution platform. (#12106)
  • Improved compatibility with Mapbox China APIs. (#11845)

Styles and rendering

  • Added support for aggregate expressions as input values to MGL_MATCH expressions. (#11866)
  • Fixed a crash that occurred when style JSON contained an invalid filter containing an expression. (#12065)
  • Fixed a crash in -[MGLStyle localizeLabelsIntoLocale:] on iOS 9.x. (#12123)
  • Unknown tokens in URLs are now preserved, rather than replaced with an empty string. (#11787)
  • Fixed an issue preventing nested key path expressions from accessing the correct feature attributes. (#11959)
  • Fixed an issue where MGLSymbolStyleLayer flickered when straddling the antimeridian. (#11938)
  • Fixed an issue where certain MGLLineStyleLayer.lineDashPattern values produced unexpected rendering. (#12114)

Other changes

  • Adjusted when and how the camera transition update and finish callbacks are called, fixing recursion bugs. (#11614)
  • Fixed an issue where -[MGLMapViewDelegate mapView:tapOnCalloutForAnnotation:] was called when the user tapped on transparent areas beneath the standard callout view. (#11939)
  • Improved MGLMapView’s performance when the scale bar is shown. (#11921)
  • Fixed a crash that could occur when reusing MGLMapSnapshotter or using multiple snapshotters at the same time. (#11831)
  • Fixed an issue where an empty MGLFeature 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)
  • Improved application launch performance. (#11784)