Open Jeehut opened 1 month ago
I wouldn't advise directly adopting features from from the main channel until they have been officially released. We could include support for SPM in a beta version of the TelemetryDeck SDK for Flutter (with an experimental notice) so it can be previewed.
However, this does no mitigate the need for the package to be available via CocoaPods. Even with SPM support turned on, the current guideline is for Flutter plugins to support both Swift Package Manager and CocoaPods until further notice.
(cf. here) as people will be facing a mix of both for quite some time.
If the CocoaPods build is unrecoverable, we could explore other alternatives:
The Kotlin SDK can be easily upgraded to include Kotlin Multiplatform support, which allows publishing of CocoaPods packages for targets on Apple platforms.
The Telemetry Deck SDK for Flutter functionality can be implemented in native Dart, dropping the need to depend on the native plugins (this will have some benefits for users who prefer Dart-only packages).
On a side-note, Xcode 15 support is also still needed - the Flutter package should be able to build successfully with Xcode 15. Perhaps adapting the CocoaPods action to use Xcode 15 can help solve the build issue? At the moment, CocoaPods does not support Xcode 16 yet.
It seems the missing Xcode 16 support is now there, because without me adjusting the workflow, the latest release of 2.5.0
seems to have successfully gone through, see here: https://github.com/TelemetryDeck/SwiftSDK/actions/workflows/cocoapods.yaml
I have not checked if everything is accessible in CocoaPods builds though, so please let me know if there's anything missing.
The maintainers of CocoaPods recently announced that they're stopping active work on it and they strongly encourage everyone to switch to Swift Package manager. They even directly addressed Flutter developers:
It seems that the Flutter team had been working on SwiftPM support for some time, and they clearly heard about the announcement. I even found docs targeted towards plugin authors: https://docs.flutter.dev/packages-and-plugins/swift-package-manager/for-plugin-authors
I can't really judge the complexity or feasibility of this myself, but I can say that our CocoaPods release pipeline is broken yet again and I couldn't find a way to fix it on first try. Dropping support for CocoaPods from the SwiftSDK would be a great relief, so if there's any chance we can switch to SwiftPM, we should at least evaluate when & how this could be tackled.