Skip to content

Conversation

thymikee
Copy link
Contributor

@thymikee thymikee commented Aug 1, 2025

Summary

This is a draft of TV support for RNEF with tvOS and AndroidTV – from internal perspective I treat them as "extensions" to ios and android platforms, that's why I went with build:ios:tv naming instead of build:tvos.

Went with this setup for now:

// rnef.config.mjs
export default {
  bundler: pluginMetro(),
  platforms: {
    ios: platformIOS(),
    android: platformAndroid(),
    tvos: platformTVOS({ sourceDir: 'tvos' }),
    androidtv: platformAndroidTV(),
  },
  remoteCacheProvider: null,
};

Alternatively we could do this (let me know which one you prefer):

export default {
  bundler: pluginMetro(),
  platforms: {
    ios: platformIOS({ tv: { sourceDir: 'tvos' }}),
    android: platformAndroid({ tv: true }),
  },
  remoteCacheProvider: null,
};

To-do list

  • build:android:tv and run:android:tv commands
  • Android TV template (just one file on top of Android template)
  • build:ios:tv and run:ios:tv commands
  • tvOS template (copied iOS template with small adjustments)
  • fingerprint: include tv source dirs in sources
  • create-app: integrate android TV
  • create-app: integrate tvOS

Test plan

Copy link

vercel bot commented Aug 1, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

1 Skipped Deployment
Name Status Preview Comments Updated (UTC)
rnef ⬜️ Ignored (Inspect) Aug 1, 2025 3:56pm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant