Skip to content

fix(🍏): declare tvOS in the podspec so autolinking links the pod on Apple TV - #609

Merged
wcandillon merged 3 commits into
mainfrom
fix/tvos-podspec
Nov 4, 2026
Merged

wcandillon merged 3 commits into
mainfrom
fix/tvos-podspec

Conversation

@wcandillon

@wcandillon wcandillon commented Nov 4, 2026 •

Copy link
Copy Markdown
Owner

Fixes #608.

Problem

React Native's CocoaPods autolinking only links a pod when its podspec declares the Podfile target's platform (AutolinkingUtils.is_platform_supported? calls spec.supported_on_platform?(platform.name)). The podspec listed iOS, macOS and visionOS only, so on a tvOS target react-native-webgpu was silently dropped from the autolinking list: pod install, archive and export all succeed, and the app then fails at runtime because the native module is absent.

Everything else was already in place: the Dawn xcframework ships tvos-arm64 and tvos-arm64_x86_64-simulator slices, and #607 made the Apple sources compile on tvOS.

Change

  • react-native-webgpu.podspec: add :tvos to s.platforms. The floor is min_ios_version_supported (15.1), which is what react-native-tvos uses for tvOS in its own min_supported_versions helper and what check-apple-sdks.sh already targets.
  • react-native-webgpu.podspec: drop :visionos. Since feat(🌅): link Dawn from the react-native-webgpu-dawn package #507 Dawn comes from the react-native-webgpu-dawn package, whose xcframework has no xros or xrsimulator slice (the in-repo build it replaced did produce them). A visionOS target therefore autolinked the pod and then failed to link it. The claim comes back once the Dawn package ships visionOS binaries again.
  • Docs: the installation page and the home page hero list iOS, tvOS, Android and macOS; the installation page says visionOS is not supported at the moment.

Verification

Evaluated the podspec with CocoaPods 1.16.2 and React Native 0.83's AutolinkingUtils.is_platform_supported? against a fake target per platform:

Platform Before After
tvOS 15.1 skipped linked
iOS 15.1 linked linked
macOS linked linked
visionOS linked, then fails to link the xcframework skipped
watchOS skipped skipped

scripts/check-apple-sdks.sh passes for every SDK, including appletvos and appletvsimulator. The reporter confirmed that patching the podspec this way makes their Expo Apple TV app work.

…pple TV (#608)

React Native's CocoaPods autolinking skips any pod whose podspec does not
list the Podfile target's platform, so on a tvOS target react-native-webgpu
was silently left out of the installed pods. The Dawn xcframework already
ships tvOS device and simulator slices and the sources build on tvOS since
#607; only the platforms declaration was missing. The tvOS floor matches the
iOS one, as in react-native-tvos' own min_supported_versions.
…lice

Since #507 Dawn comes from react-native-webgpu-dawn, whose xcframework has
no xros or xrsimulator slice, so a visionOS target autolinked the pod and
then failed to link it. Drop the claim from the podspec and the docs until
the Dawn package ships visionOS binaries again.
@wcandillon
wcandillon merged commit fd27a5d into main Nov 4, 2026
6 checks passed
@github-actions

github-actions Bot commented Nov 4, 2026

Copy link
Copy Markdown

🎉 This PR is included in version 0.21.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

tvOS missing from podspec causes autolinking to silently omit WebGPU

1 participant