October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk5 min

tvOS in a Compose Multiplatform Fork: Targets, Source Sets, and Build Logic

A practical guide to tvOS targets and source sets in a Compose Multiplatform fork, including how fork-specific build logic works and when a community settings plugin may fit.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To model tvOS in a Compose Multiplatform fork, declare separate device and simulator targets, share code through the source sets that feed those targets, and isolate fork-specific build logic from upstream-oriented files. Maintainers can either build and maintain the source fork themselves or use a community Gradle settings plugin that redirects eligible dependencies to tvOS-enabled artifacts. These are different levels of control, not equivalent forms of official support.

What targets and source sets do

A Kotlin Multiplatform target represents a compilation platform. A source set groups source files, dependencies, and compiler options for code compiled for one or more targets. Kotlin’s project-structure documentation uses tvosArm64 for a tvOS device target and tvosSimulatorArm64 for a tvOS simulator target, and describes tvosMain as an intermediate source set the two can share. Kotlin Multiplatform project structure

As an Amazon Associate I earn from qualifying purchases.

This distinction helps decide where code belongs: put platform-neutral logic in common source sets, code shared by relevant Apple targets in an appropriate Apple intermediate set, and tvOS-specific code in a tvOS source set. Code that depends on device- or simulator-specific APIs may need to live lower in the hierarchy.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Declare the device and simulator separately

A fork intended to build for both Apple TV hardware and the simulator needs both targets. The following is a conceptual target declaration, not a complete project configuration:

kotlin {
    tvosArm64()
    tvosSimulatorArm64()
}

With both targets declared, the intended sharing structure can be represented as:

  • commonMain for platform-neutral code.
  • An Apple shared layer, when appropriate for the project’s declared targets.
  • tvosMain for code shared by the tvOS device and simulator targets.
  • tvosArm64Main and tvosSimulatorArm64Main for code specific to each target.

This is a conceptual hierarchy, not a promise that every project creates these exact source sets automatically. The actual hierarchy depends on the targets declared and Kotlin Gradle plugin conventions or configuration. Because device and simulator are distinct targets, a successful simulator build alone does not establish that the device target builds.

Keep fork build logic separate from upstream-oriented files

The JetBrains Compose Multiplatform Core repository illustrates one way to separate fork configuration: it has settings-fork.gradle and build-fork.gradle alongside its other build files. The settings file references fork-specific settings scripts under buildSrc-fork, uses gradle/libs-fork.versions.toml, and changes the default version-catalog extension name. JetBrains Compose Multiplatform Core: settings-fork.gradle

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Its fork build file applies root project plugins and uses fork-specific repository setup. Together, the files show how that repository keeps fork-related settings and build behavior distinct from upstream-oriented configuration. JetBrains Compose Multiplatform Core: build-fork.gradle

buildSrc-fork is a convention of this repository, not a required Gradle directory or a standard Compose Multiplatform feature. The repository’s settings also make clear that its scripts rely on assumptions about that project’s structure. Treat its file names and selection mechanics as repository-specific; check the wrapper tasks and instructions for the branch you intend to build rather than assuming a universal command.

Choose between maintaining a source fork and redirecting dependencies

A source fork gives maintainers direct access to the build and modules they need to adapt. A community settings plugin instead offers a consumer-side route: its README describes substituting eligible dependencies with published tvOS-enabled alternatives. The choice depends on whether the needed work fits the plugin’s coverage and configuration surface or requires changes inside the underlying source.

Rank #4
Big Book of TV Theme Songs
  • 264 Pages
  • Includes 78 Songs
  • Composer: Various
  • Softcover
Decision Build and maintain a source fork Consume redirected tvOS artifacts
Control Can change fork build logic and modules directly. Uses the plugin’s published coverage and configuration surface.
Maintenance Requires keeping fork build files and source changes aligned with upstream. Requires tracking plugin, Kotlin, Compose, and artifact-version compatibility.
Dependency coverage Can add platform work in source where needed. Limited to compatible tvOS variants and explicit plugin mappings.
Packaging Controls its own build and output path. Follows the plugin’s documented framework and resources packaging behavior.

This comparison describes practical implications of the two approaches, not measured differences in build speed, cost, or reliability.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What the community plugin documents

The compose-tvos README describes applying its plugin in settings.gradle.kts, declaring tvosArm64() and tvosSimulatorArm64() in a consumer module, and substituting eligible modules with fork-published tvOS artifacts. It also documents interception of org.jetbrains.compose plugin resolution for fork-specific Compose Resources packaging, remote version mapping, and an “official first” approach when upstream variants exist. These are claims about that community plugin and its artifact ecosystem, not guarantees from JetBrains.

The README’s stated requirements include Gradle 8.0 or later, Kotlin 2.3.20 or later for consumer projects targeting tvOS, and JetBrains Compose Multiplatform 1.6 or later. Its supported-module matrix and version mappings are specific to the plugin and can change. The README’s quickstart and displayed matrix can reflect different release states, so check the release and mapping information for the version you plan to use rather than treating an undated example as a current compatibility guarantee.

The plugin README also describes building a Kotlin framework for each tvOS target and a particular Compose Resources bundle nesting expected by its tvOS resource reader. Those details apply to the plugin’s documented packaging path; they should not be assumed for every fork or upstream build.

Know where official support stands

In the repository overview checked on 7 October 2026, Compose Multiplatform is presented for iOS, Android, desktop, and beta web; tvOS is not listed among those documented targets. The community plugin presents its tvOS variants as a way to cover cases where upstream artifacts are unavailable. This is a snapshot of those sources, not a guarantee that official support status will remain unchanged. Compose Multiplatform repository overview

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Kotlin’s quickstart says Apple-platform development requires a macOS machine with Xcode installed and directs developers to launch Xcode for initial tool setup. That guidance establishes the Apple tooling prerequisite, but the quickstart focuses on iOS and does not provide a tvOS-specific local setup recipe. Kotlin Multiplatform quickstart

Practical decision checklist

  • Choose a source fork if you need to modify modules or build logic beyond what published variants cover, and can maintain the divergence from upstream.
  • Consider dependency redirection if the plugin explicitly covers the modules you need and its current version mapping fits your Kotlin, Compose, and Gradle setup.
  • Declare both tvOS targets when both device and simulator builds matter, and keep shared code in source sets that actually feed both.
  • Use macOS and Xcode for Apple-platform development, while verifying tvOS-specific requirements for your chosen toolchain and build path.
  • Check the relevant repository branch or plugin release documentation for current compatibility and invocation details before adopting either path.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.