Publicamos MapConductor iOS SDK 1.3.1. Etiquetamos 16 módulos para Swift Package Manager y, por primera vez en este proyecto, también publicamos 10 pods en CocoaPods.
Swift Package Manager
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
pod 'MapConductorCore', '~> 1.3.1' pod 'MapConductorForMapLibre', '~> 1.3.1'
Módulos y vía de distribución
| Módulo | Repositorio | Distribución | SDK de mapas |
|---|---|---|---|
MapConductorCore | ios-sdk-core | SPM + CocoaPods | — |
MapConductorHeatmap | ios-heatmap | SPM + CocoaPods | — |
MapConductorMarkerClustering | ios-marker-clustering | SPM + CocoaPods | — |
MapConductorGeoJSON | ios-geojson | SPM + CocoaPods | — |
MapConductorKML | ios-kml | SPM + CocoaPods | — |
MapConductorForMapLibre | ios-for-maplibre | SPM + CocoaPods | MapLibre 6.20.0 |
MapConductorForMapTiler | ios-for-maptiler | SPM + CocoaPods | MapLibre 6.20.0 |
MapConductorForGoogleMaps | ios-for-googlemaps | SPM + CocoaPods | Google Maps 11.0.0 |
MapConductorForMapbox | ios-for-mapbox | SPM + CocoaPods | Mapbox 11.0.0 |
MapConductorForLongdo | ios-for-longdo | SPM + CocoaPods | Longdo 4.1.0 |
MapConductorForArcGIS | ios-for-arcgis | solo SPM | ArcGIS 300.1.0 |
MapConductorForHERE | ios-for-here | solo SPM | HERE 4.27.2.0 |
MapConductorForTomTom | ios-for-tomtom | solo SPM | TomTom 0.73.1 |
Por qué tres van solo por SPM
ArcGIS, HERE y TomTom no están en CocoaPods. No es un ajuste que se nos haya pasado: es una restricción de quien los distribuye.
- ArcGIS — Esri distribuye únicamente por SPM y el xcframework se descarga al compilar
- HERE — El SDK solo se consigue por descarga manual desde el portal de HERE y no se puede redistribuir
- TomTom — La dependencia
TomTomSDKMapDisplayno existe en el trunk de CocoaPods
Los tres casos ya se conocían en la revisión previa; no aparecieron al ejecutar. Por SPM estos tres se usan con normalidad.
Google Maps es una biblioteca estática
El pod trunk push de MapConductorForGoogleMaps falla la primera vez porque GoogleMaps.xcframework está enlazado estáticamente. Con --use-libraries pasa. No es un problema de diseño, sino de cómo se enlaza durante la verificación.
Requisitos
| iOS | 16.0 o posterior |
| Xcode | 15 o posterior |
| Swift tools | 5.9 |
Nota
Las bibliotecas se compilan con BUILD_LIBRARY_FOR_DISTRIBUTION=YES e incluyen .swiftinterface. Las declaraciones marcadas con @_spi(MapConductorDriver) no cuentan como superficie pública de la API: equivalen a @InternalMapConductorApi en Android y a /** @internal */ en React.
Cada módulo vive en su propio repositorio en github.com/MapConductor.