MapLibre GL Native


MapLibre Native for iOS distributed via the Swift Package Manager.

What's New


  • Fix missing attribution #236
  • Fix logging format strings #266
  • Implement map projection functionality #254
  • Fix warnings, mainly casting to smaller types #270
  • Remove an unused static library (savings of 97 KB from iOS binary)
  • Add ClientOptions to be able to pass around client name and version #365
  • Remove account from xcconfig #382
  • Remove observation of key-path #380
  • Fix for "NSExpression function is forbidden" #411
  • Xcode 14 compatibility #494 #599

MapLibre GL Native SDK for iOS

Requires Xcode 12 Requires Swift 5.3 SPM compatible

MapLibre GL Native is a community led fork derived from mapbox-gl-native prior to their switch to a non-OSS license. The fork also includes Maps SDK for iOS and macOS (forked from mapbox-gl-native-ios) and Android SDK (forked from mapbox-gl-native-android).

Add MapLibre to your Project

To add a package dependency to your Xcode project, select File > Swift Packages > Add Package Dependency and enter its repository URL. See Adding Package Dependencies to Your App.

Swift Packages Development

You can override the MapLibre package dependency and edit its content by adding it as a local package. See Editing a Package Dependency as a Local Package.

For example, you can add this to Package.swift, if you are interested in testing the Mapbox framework with another framework.

products: [
    .library( name: "Mapbox", targets: ["Mapbox"]),
    .library( name: "MetalANGLE", targets: ["MetalANGLE"])
dependencies: [ ],
// target path should be relative to package root
targets: [
    .binaryTarget(name: "Mapbox", path: "Mapbox.xcframework"),
    .binaryTarget(name: "MetalANGLE", path: "MetalANGLE.xcframework")

Other References from

Test MapLibre with a Swift Playgrounds

When you download this repo there is a Swift Playground that allows you to change the style and play around with a very simple rendered map.

  • Download this repo
  • Navigate to the folder where you cloned, and open Package.swift in at least Xcode 12.
  • Run Playground by choosing Editor > Run Playground or ⇧-⌘-⏎
  • See issue maplibre-gl-native-distribution#8 for screenshots of the MapLibre for Swift Playgrounds in action.


  • Swift Tools 5.3.0
View More Packages from this Author


  • None
Last updated: Fri Feb 23 2024 22:51:03 GMT-1000 (Hawaii-Aleutian Standard Time)