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

Styles and rendering

  • Client-side text rendering of CJK ideographs is now enabled by default. (#13988)
  • Fixed an issue that caused MGL_FUNCTION to ignore multiple formatting parameters when passed a format function as parameter. (#14064)
  • Added mgl_attributed: expression operator, which concatenates MGLAttributedExpression objects for specifying rich text in the MGLSymbolStyleLayer.text property. (#14094)
  • Fixed an issue that caused conditional expressions to crash when passed nested conditional expressions as parameters. (#14181)
  • Added MGLSymbolStyleLayer.textVariableAnchor and MGLSymbolStyleLayer.textRadialOffset API to enable variable label placement (#14184)
  • Added -[MGLMapViewDelegate mapView:didFailToLoadImage:] to load missing symbol icons in the style if they are not found. (#14302)
  • Fixed a possible crash with certain expressions containing arguments that evaluate to a dictionary containing NSArray or NSNumber values. (#14352)
  • Fixed a bug where non-opaque UIColor values were ignored when assigned to a style layer color property. (#14406)
  • Speculatively fixed a bug where GL rendering could occur in the background. (#14439)

Packaging

  • Added a Galician localization. (#14095)
  • Added support for building from source with Xcode 10.2 / iOS SDK 12.2. (#14241)

Offline maps

  • Fixed a bug that caused offline packs created prior to v4.0.0 to be marked as MGLOfflinePackStateInactive. (#14188)

Other changes

  • Added MGLOrnamentPosition enum and margin properties to customize scale bar, compass, logo, and attribution position within the map view. (#13911)
  • Added an MGLMapView.prefetchesTiles property to configure lower-resolution tile prefetching behavior. (#14031)
  • Speculatively fixed a performance issue seen on iOS 12.2, when an MGLMapView is repeatedly removed and re-added in a view hierarchy. (#14264)

Recent changes

See the full changelog for previous releases.