Migration Guide: From THEOplayer Flutter SDK 10.x to 11.x
This guide covers the breaking changes introduced by updating the underlying native THEOplayer SDKs to 11.1.0.
Overview
Most of the Dart API surface is unchanged. Migrating consists of:
- Removing the OptiView Live preloading calls (removed from the native SDKs).
- Raising the iOS deployment target of your app to 15.0.
- Building your iOS app with Xcode 26 or later.
Breaking Changes
1. OptiView Live (THEOlive) preloading removed
preloadChannels (Android, iOS) and preloadPublications (web) were removed from the native OptiView Live APIs, so the Flutter wrapper drops the corresponding methods as well. There is no replacement: the stream is loaded when the source is set on the player.
Before:
// preload channels for faster startup
player.theoLive?.preloadChannels(["38yyniscxeglzr8n0lbku57b0"]);
player.source = SourceDescription(sources: [
TheoLiveSource(src: "38yyniscxeglzr8n0lbku57b0"),
]);
After:
player.source = SourceDescription(sources: [
TheoLiveSource(src: "38yyniscxeglzr8n0lbku57b0"),
]);
2. Update iOS toolchain
- THEOplayer iOS SDK 11.0.0 dropped support for iOS 13 and 14. Set the deployment target to 15.0 or higher.
- Building an app that uses this Flutter SDK therefore requires Xcode 26 or later and a macOS version supporting it.
What Remains Unchanged
- The rest of the THEOlive API
Rationale
These changes were made to:
- Align with THEOplayer 11.1.0: the Flutter SDK version is locked to the native SDK version
- Follow Apple's tooling requirements: iOS 15+ and Xcode 26 are required by the native iOS SDK
- Drop unsupported APIs: the THEOlive preloading APIs no longer exist in the native SDKs
Need Help?
If you encounter issues during migration or have questions about the new API, please:
- Check the updated documentation in
doc/theolive.md - Review the example app for working code samples
- Consult the THEOplayer 11.0.0 and 11.1.0 native changelogs
- Open an issue in the repository with specific migration questions