MapLibre GL Native SDK for iOS
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 developer.apple.com
-
Find out if a package dependency references a binary and verify the binary’s authenticity. See Identifying Binary Dependencies.
-
WWDC20 Distribute binary frameworks as Swift packages, which describes several features of a binary targets.
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
clone
d, and openPackage.swift
in at least Xcode 12. - Run Playground by choosing
Editor
>Run Playground
or⇧⌘⏎