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 6.2.1

🐞 Bug fixes

  • Fixed an issue where completion blocks were not called until the map was rendered. (#463)
  • Fixed an issue that caused a crash when custom location managers did not implement MGLLocationManager.accuracyAuthorization. (#474)
  • Fixed a crash that occurred when MGLIdeographicFontFamilyName was set to NO. (#467, #476)
  • Fixed an issue with local font glyph rendering, by updating the core library to version 5.1.0. (#475)

🔧 Dependencies

  • Core library updated to 5.1.0. (#475)

Recent changes

6.2.0

This release supports iOS 14 and Xcode 12 For building with Xcode 12, please ensure that mapbox-events-ios is at version 0.10.4 or higher. Please see our dependency instructions for more details. This version does not support Apple Silicon Macs (arm64).

✨ New features

  • Added MGLLocationManager.accuracyAuthorization to check the level of accuracy the app is allowed to support. (#361)
  • Added [MGLLocationManager requestTemporaryFullAccuracyAuthorizationWithPurposeKey:] to allow developers request just-in-time full-accuracy permissions. (#361)
  • Added [MGLLocationManagerDelegate locationManagerDidChangeAuthorization:] to let MGLMapView know about privacy changes. (#376)
  • Added [MGLMapViewDelegate mapView:didChangeLocationManagerAuthorization:] to allow developers adjust their apps to privacy settings changes. (#376)
  • Added an approximate user location halo when MGLLocationManager.accuracyAuthorization is set to CLAccuracyAuthorizationReducedAccuracy. (#381)
  • The MGLAccuracyAuthorizationDescription as element of NSLocationTemporaryUsageDescriptionDictionary Info.plist key can now be set to describe why you request accuracy authorization. (#392)
  • Added [MGLMapViewDelegate mapViewStyleForDefaultUserLocationAnnotationView:] and MGLUserLocationAnnotationViewStyle class to allow developers customize the default user location annotation view UI style. (#403)
  • Added MGLNetworkConfiguration.connected property to enforce MGLMapView to use cached tiles. (#416)

🐞 Bug fixes

  • Fixed an issue where the map would hang periodically (on iOS 14). (#411)
  • Fixed a sporadic crash when the application resigns active, for example, when showing Control Center. (#412)
  • Fixed an issue that caused ornaments to consider safe areas when MGLMapView.automaticallyAdjustsContentInset is set to NO. (#420)
  • Fixed an issue that caused rendering crashes when entering the background. (#432)

🔧 Dependencies

  • Supported Xcode 12 by updating mapbox-events-ios to ~> 0.10.4.(#458)
  • Core library updated to 4.0.0. (#458)

See the full changelog for previous releases.