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.

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

Changes in version 4.3.0

Styles and rendering

  • Added an MGLMapView.preferredFramesPerSecond property that controls the rate at which the map view is rendered. The default rate now adapts to device capabilities to provide a smoother experience. (#12501)
  • Token string syntax ("{token}") in MGLSymbolStyleLayer text and iconImageName properties is now correctly converted to the appropriate NSExpression equivalent. (#11659)
  • Fixed a crash when switching between two styles having layers with the same identifier but different layer types. (#12432)
  • Added a new option to MGLSymbolPlacement, MGLSymbolPlacementLineCenter, that places the label relative to the center of the geometry. (#12337)
  • Added a MGLShapeSourceOptionLineDistanceMetrics property that enables or disables calculating line distance metrics.

User location

  • Added an MGLMapView.locationManager property and MGLLocationManager protocol for tracking user location using a custom alternative to CLLocationManager. (#12013)
  • Fixed a crash that occurred when MMELocationManager was deallocated and the delegate was reporting updates. (#12542)

Other changes

  • Fixed a crash that occurred when the user started a gesture before the drift animation for a previous gesture was complete. (#12148)
  • Fixed an issue where the symbols for MGLMapPointForCoordinate could not be found. (#12445)
  • Fixed an issue causing country and ocean labels to disappear after calling -[MGLStyle localizeLabelsIntoLocale:] when the system language is set to Simplified Chinese. (#12164)
  • Closed a security vulnerability introduced in 4.1.0 that would potentially allow the owner of a style to compromise apps loading that style. (#12571)
  • Reduced binary size and improved performance by enabling LTO. (#12502)

Recent changes

See the full changelog for previous releases.