iOS SDK 1.3.1 — 16 Module über SPM, CocoaPods zum ersten Mal

16 Module für den Swift Package Manager und 10 Pods bei CocoaPods. ArcGIS, HERE und TomTom bleiben SPM vorbehalten — eine Auflage der Anbieter.

Wir haben MapConductor iOS SDK 1.3.1 veröffentlicht. Für den Swift Package Manager sind 16 Module getaggt, und zum ersten Mal in diesem Projekt liegen auch 10 Pods bei CocoaPods.

Swift Package Manager

swift
dependencies: [
    .package(url: "https://github.com/MapConductor/ios-sdk-core", from: "1.3.1"),
    .package(url: "https://github.com/MapConductor/ios-for-maplibre", from: "1.3.1"),
]

CocoaPods

ruby
pod 'MapConductorCore', '~> 1.3.1'
pod 'MapConductorForMapLibre', '~> 1.3.1'

Module und Vertriebsweg

ModulRepositoryVertriebKarten-SDK
MapConductorCoreios-sdk-coreSPM + CocoaPods
MapConductorHeatmapios-heatmapSPM + CocoaPods
MapConductorMarkerClusteringios-marker-clusteringSPM + CocoaPods
MapConductorGeoJSONios-geojsonSPM + CocoaPods
MapConductorKMLios-kmlSPM + CocoaPods
MapConductorForMapLibreios-for-maplibreSPM + CocoaPodsMapLibre 6.20.0
MapConductorForMapTilerios-for-maptilerSPM + CocoaPodsMapLibre 6.20.0
MapConductorForGoogleMapsios-for-googlemapsSPM + CocoaPodsGoogle Maps 11.0.0
MapConductorForMapboxios-for-mapboxSPM + CocoaPodsMapbox 11.0.0
MapConductorForLongdoios-for-longdoSPM + CocoaPodsLongdo 4.1.0
MapConductorForArcGISios-for-arcgisnur SPMArcGIS 300.1.0
MapConductorForHEREios-for-herenur SPMHERE 4.27.2.0
MapConductorForTomTomios-for-tomtomnur SPMTomTom 0.73.1

Warum drei nur über SPM kommen

ArcGIS, HERE und TomTom liegen nicht bei CocoaPods. Das ist keine vergessene Einstellung, sondern eine Auflage der Anbieter.

  • ArcGIS — Esri liefert ausschließlich über SPM aus; das xcframework wird beim Bauen heruntergeladen
  • HERE — Das SDK gibt es nur als manuellen Download aus dem HERE-Portal und darf nicht weiterverteilt werden
  • TomTom — Die Abhängigkeit TomTomSDKMapDisplay existiert im CocoaPods-Trunk nicht

Alles drei war bei der Vorabprüfung bekannt und hat sich nicht erst beim Ausführen gezeigt. Über SPM lassen sich auch diese drei wie gewohnt verwenden.

Google Maps ist eine statische Bibliothek

pod trunk push für MapConductorForGoogleMaps scheitert zunächst, weil GoogleMaps.xcframework statisch gelinkt ist. Mit --use-libraries geht es durch. Das ist kein Entwurfsproblem, sondern eine Frage der Link-Art bei der Prüfung.

Voraussetzungen

iOS16.0 oder neuer
Xcode15 oder neuer
Swift tools5.9

Nachtrag

Die Bibliotheken werden mit BUILD_LIBRARY_FOR_DISTRIBUTION=YES gebaut und bringen ein .swiftinterface mit. Deklarationen mit @_spi(MapConductorDriver) zählen nicht zur öffentlichen API-Oberfläche — sie entsprechen @InternalMapConductorApi unter Android und /** @internal */ in React.

Die Module liegen unter github.com/MapConductor in je eigenen Repositories.