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.
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 5.2.0
Networking
- Added methods to clear the ambient cache, change the size of the ambient cache, and to delete and revalidate the database that contains the ambient cache and offline packs (#14978):
-[MGLOfflineStorage clearAmbientCacheWithCompletionHandler:]
-[MGLOfflineStorage invalidateAmbientCacheWithCompletionHandler:]
-[MGLOfflineStorage setMaximumAmbientCacheSize:withCompletionHandler:]
-[MGLOfflineStorage resetDatabaseWithCompletionHandler:]
-[MGLOfflineStorage invalidatePack:withCompletionHandler:]
Styles and rendering
- The
MGLIdeographicFontFamilyName
Info.plist key now also accepts an array of font family names, to customize font fallback behavior. It can also be set to a Boolean value ofNO
to force the SDK to typeset CJK characters in a remote font specified byMGLSymbolStyleLayer.textFontNames
. (#14862) - Hiragana and katakana are now included in the range of CJK glyphs that are rendered locally by default. (#15009)
- Fixed a map update bug caused by the render tiles and the render passes becoming unsynchronized. (#15092)
- Added the
-[MGLMapViewDelegate mapView:shouldRemoveStyleImage:]
method for optimizing style image caching. (#14769) - Fixed style change transition regression caused by delayed setting of the updated layer properties. (#15016)
- Fixed an issue where layers with fill extrusions would be incorrectly rendered above other layers. (#15065)
- Improved feature querying performance. (#14930)
- Fixed a custom geometry source bug caused by using the outdated tiles after style update #15112
User interaction
- Fixed an issue where annotations could not be selected. (#15130)
- Fixed a bug where using the pinch gesture could result in an incorrect map center coordinate. (#15097)
- Fixed an issue where the two-finger tilt gesture would continue after lifting one finger. (#14969)
Offline maps
- Ideographic glyphs from Chinese, Japanese, and Korean are no longer downloaded by default as part of offline packs; they are instead rendered on-device, saving bandwidth and storage while improving performance. (#14176)
- Fixed an issue where offline regions could report the wrong number of tiles. (#14958)
Packaging
- Removed previously deprecated methods and properties that had been marked
unavailable
. (#15000) - The downloaded zip file of this framework no longer contains a local podspec. (#15027)
Other changes
- Added variants of several animated
MGLMapView
methods that accept completion handlers (#14381):-[MGLMapView setVisibleCoordinateBounds:edgePadding:animated:completionHandler:]
-[MGLMapView setContentInset:animated:completionHandler:]
-[MGLMapView setUserTrackingMode:animated:completionHandler:]
-[MGLMapView setTargetCoordinate:animated:completionHandler:]
-[MGLMapView showAnnotations:edgePadding:animated:completionHandler:]
-[MGLMapView selectAnnotation:animated:completionHandler:]
- Deprecated variants of the above methods without completion handlers. (#14959)
- Added
MGLMapView.compassView.compassVisibility
andMGLOrnamentVisibility
to allow configuration of compass visibility behavior. (#15055) - Fixed a crash during network access. (#15113)
- Updated
map ID
to the more accurate termtileset ID
in documentation; updatedstyle’s Map ID
to the more accurate termstyle URL
. (#15116)
Recent changes
See the full changelog for previous releases.