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 8.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.0.1

Packaging

  • Re-added support for 32-bit simulators (i386) to work around an issue in CocoaPods. (#11891)
  • Added a Korean localization. (#11792)

Style layers

  • Deprecated +[NSExpression featurePropertiesVariableExpression]; use +[NSExpression featureAttributesVariableExpression] instead. (#11748)
  • Added FIRST, LAST, and SIZE symbolic array subscripting support to expressions. (#11770)
  • Inside an expression, casting nil to a string turns it into the empty string instead of the string "null". (#11904)

Annotations

  • Fixed an issue where selecting an onscreen annotation could move the map unintentionally. (#11731)
  • Fixed an issue where annotation views could become distorted if rotatesToMatchCamera was enabled. (#11817)
  • Fixed MGLAnnotationView.rotatesToMatchCamera overriding other transforms that might be applied to annotation views that had this property enabled. (#11842)

Other changes

  • If English is the first language listed in the user’s Preferred Languages setting, -[MGLStyle localizeLabelsIntoLocale:] no longer prioritizes other languages over English. (#11907)
  • Fixed an issue where -[MGLMapView metersPerPixelAtLatitude:] was removed, but not marked as unavailable. (#11765)
  • Reduced per-frame render CPU time. (#11811)
  • Fixed an issue where an MGLOverlay object straddling the antimeridian had an empty MGLOverlay.overlayBounds value. (#11783)
  • Fixed an issue where certain colors were being misrepresented in NSExpression obtained from MGLStyleLayer getters. (#11725)