Stream Probe introduces Kotlin Multiplatform (KMP) architecture in this update, adding full iOS support alongside the existing Android SDK.
TL;DR
The SDK has moved from Android-only to a KMP-based architecture. iOS developers can now integrate Stream Probe's streaming diagnostics directly via Swift Package Manager, while Android integration stays exactly as before.
What's New
- KMP architecture migration: The core SDK is now built on Kotlin Multiplatform, sharing diagnostic logic across Android and iOS targets
- iOS XCFramework distribution: iOS targets (iosArm64, iosSimulatorArm64, iosX64) are now compiled and packaged as XCFrameworks
- Swift Package Manager support: A
Package.swiftmanifest is included so iOS projects can pull in Stream Probe directly through SPM - Updated CI/CD pipeline: Build, test, and publish workflows now handle both Android artifacts and iOS XCFrameworks in a single pipeline
- Demo app updated: The demo app wires up the new iOS SDK through SPM to confirm the integration end-to-end
How to Use
iOS (Swift Package Manager)
Add Stream Probe to your Package.swift dependencies:
.package(url: "https://github.com/oguzhaneksi/StreamProbe", from: "<latest-version>")
Or add it directly through Xcode: File > Add Package Dependencies, then paste the repo URL.
Android
Android integration is unchanged. Existing Gradle setup continues to work as before.
Breaking Changes
None for Android. The KMP migration is additive. Existing Android integrations do not require any changes.
FAQ
Does this change anything for my existing Android integration?
No. The Android API surface is unchanged. The KMP migration adds iOS support without touching existing Android behavior.
How do I add Stream Probe to an iOS project?
Use Swift Package Manager by pointing to the Stream Probe GitHub repo. The included Package.swift handles target configuration and XCFramework linking automatically.
Are all iOS device and simulator targets supported?
Yes. XCFrameworks are built for iosArm64 (physical devices), iosSimulatorArm64 (Apple Silicon simulators), and iosX64 (Intel simulators).
Is the shared KMP core stable for production?
The diagnostic logic is the same code that has been running on Android. The KMP layer compiles it for both platforms without branching the core business logic.