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.

Mapbox iOS SDK screenshots

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

  • Fixed a crash that occurred when a sprite URL lacks a file extension. See this comment to determine who may be affected by this bug. (#5723)
  • Fixed an issue causing overlapping polylines and polygons to be drawn in undefined z-order. Shapes are always drawn in the order they are added to the map, from the oldest on the bottom to the newest on the top. (#5710)
  • Fixed an issue preventing MGLMapView from changing its viewport when a single annotation was passed into -[MGLMapView showAnnotations:animated:]. (#5693)
  • Fixed an issue causing polyline and polygon annotations to disappear when the zoom level is one less than the maximum zoom level. (#5418)
  • Fixed a crash that occurred when a style or other resource URL has a query string. (#5554)
  • If you subclass MGLAnnotationView, your implementation of -setSelected:animated: is now called with the correct value in the animated parameter, making it possible to animate a deselection. (#5677)
  • The compass, Mapbox logo, and attribution button now accommodate the containing map view’s content insets. If your interface elements partially overlap the map view but do not affect the top and bottom layout guides, set the automaticallyAdjustsScrollViewInsets property to NO and set the contentInset property to a suitable value. (#5671)
  • Added a property to MGLOfflineStorage, countOfBytesCompleted, that indicates the disk space occupied by all cached and offline resources. (#5585)