Compose Multiplatform running on Apple tvOS — now ...
# feed
s
Compose Multiplatform running on Apple tvOS — now on the 1.12.0 stable line JetBrains doesn't ship tvOS artifacts, so I built and published them. It's a community fork, not official, and it's now one line to add to an existing KMP project. Add one line to your settings.gradle.kts:
Copy code
// settings.gradle.kts
plugins { id("dev.sajidali.compose-tvos") version "1.3.0" }
Then add
tvosArm64()
/
tvosSimulatorArm64()
and keep your stock
org.jetbrains.compose.*
,
androidx.tv:tv-material
, Koin and Coil coordinates. The plugin attaches tvOS variants at resolution time and points them at tvOS builds on Maven Central (
dev.sajidali.*
). It's official-first: any module JetBrains already ships tvOS klibs for is used as-is, so the handoff is automatic when upstream coverage arrives. What's included: • Compose 1.12.0 (runtime/foundation/ui/material/material3 1.5.0-alpha22/material3-adaptive) • lifecycle 2.11.0, navigation, navigation3, savedstate, window-core •
androidx.tv:tv-material
1.1.0-alpha01 ported to CMP • Koin 4.2.2 (koin-compose, koin-compose-viewmodel) and Coil 3 (3.5.0 for Kotlin 2.3, 3.6.1 for Kotlin 2.4) • Kotlin 2.3.20+. Builds a production TV app of mine with zero app-source changes. Proof it works: The GIF below is the Apple TV 4K simulator driven with the Siri Remote: card focus traversal, a details page, Menu → back. That's Google's JetStream TV sample, ported end to end and built from Maven Central + the Plugin Portal with nothing published locally. Plugin + docs: github.com/sajidalidev/compose-tvos (docs: sajidalidev.github.io/compose-tvos) JetStream on tvOS: github.com/sajidalidev/jetstream-tvos (branch
cmp-tvos
) Fork: github.com/sajidalidev/compose-multiplatform-core (
tvos-main
) Would love the feedback.
kodee happy 15
K 8
l
Amazing! Let's do watchOS next 😂
👍 1
👿 1
s
watchos, to my knowledge, doesn't expose its Metal api, so it's not doable there
s
Sargun's right, no public Metal on watchOS, So tvOS is where the line stays 🙂