Replies: 4 comments 1 reply
-
The original goal of supporting package managers was to meet developers where they are, to a reasonable extent. After all, asking projects to adopt a different package manager just to add a map is sort of like the tail wagging the dog. While SPM is clearly the future, there’s still a critical mass of projects on CocoaPods, for better or worse. I’m not a fan of CocoaPods, but it’s difficult to ignore that usage. Carthage is less popular, but it isn’t really a package manager, just a download manager for Xcode-based projects. Mapbox currently supports CocoaPods and SPM but not Carthage (more of an artificial limitation than anything). Practically speaking, the main reason to ignore CocoaPods and Carthage would be to allow the package to take on a future dependency that’s only distributed via SPM without breaking backwards compatibility. On the other hand, if the long-term plan is to switch to source-only distribution based on a binary of core, then it would remain feasible to support CocoaPods and Carthage. The same changes that SPM would require would facilitate support for CocoaPods and Carthage too. The SPM support at this point is just a package manifest that points to a binary with no other dependencies. This makes it pretty straightforward to support both CocoaPods and Carthage with a minimum of overhead: just create a podspec and binary project specification that point to the same binary. |
Beta Was this translation helpful? Give feedback.
-
Is there a good/easy way of checking if/how popular are MapLibre CocaPods and Carthage distributions? Maybe we can start with this!? |
Beta Was this translation helpful? Give feedback.
-
@sjg-wdw shared an interesting thought on Slack: many project wanting to upgrade to MapLibre might still be using CocoaPods. |
Beta Was this translation helpful? Give feedback.
-
Right, yes. Many of the devs holding on to old versions of the toolkit probably started using it during the CocoaPods era. So when they upgrade, there's an argument to be made that supporting CocoaPods would make it easier. |
Beta Was this translation helpful? Give feedback.
-
Right now the newest iOS version is only distributed using Swift Package Mangager and https://github.com/maplibre/maplibre-gl-native-distribution. Should we stop supporting CocaPods and Carthage altogether and only only use Swift Package Mangager for distribution going forward?
Beta Was this translation helpful? Give feedback.
All reactions