From 37a00ad173d985e080c0075d680330ec84c7f28d Mon Sep 17 00:00:00 2001 From: William Candillon Date: Wed, 4 Nov 2026 08:20:10 +0100 Subject: [PATCH 1/3] =?UTF-8?q?fix(=F0=9F=8D=8F):=20declare=20tvOS=20in=20?= =?UTF-8?q?the=20podspec=20so=20autolinking=20links=20the=20pod=20on=20App?= =?UTF-8?q?le=20TV=20(#608)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- .../content/docs/getting-started/installation.mdx | 2 +- packages/webgpu/react-native-webgpu.podspec | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/apps/docs/content/docs/getting-started/installation.mdx b/apps/docs/content/docs/getting-started/installation.mdx index b50a6a5e9..583cff156 100644 --- a/apps/docs/content/docs/getting-started/installation.mdx +++ b/apps/docs/content/docs/getting-started/installation.mdx @@ -3,7 +3,7 @@ title: Installation description: Your first React Native WebGPU App --- -React Native WebGPU brings the [WebGPU API](https://www.w3.org/TR/webgpu/) to iOS, Android, macOS, and visionOS using [Dawn](https://dawn.googlesource.com/dawn). +React Native WebGPU brings the [WebGPU API](https://www.w3.org/TR/webgpu/) to iOS, tvOS, Android, macOS, and visionOS using [Dawn](https://dawn.googlesource.com/dawn). ## Install the package diff --git a/packages/webgpu/react-native-webgpu.podspec b/packages/webgpu/react-native-webgpu.podspec index 867f6395f..f82709363 100644 --- a/packages/webgpu/react-native-webgpu.podspec +++ b/packages/webgpu/react-native-webgpu.podspec @@ -47,7 +47,16 @@ Pod::Spec.new do |s| s.license = package["license"] s.authors = package["author"] - s.platforms = { :ios => min_ios_version_supported, :osx => "10.15", :visionos => "1.0" } + # React Native's CocoaPods autolinking drops any pod whose podspec does not + # declare the Podfile target's platform (#608), so every platform the Dawn + # xcframework ships a slice for is listed. react-native-tvos keeps the tvOS + # floor equal to the iOS one (its min_supported_versions helper). + s.platforms = { + :ios => min_ios_version_supported, + :tvos => min_ios_version_supported, + :osx => "10.15", + :visionos => "1.0", + } s.source = { :git => "https://github.com/wcandillon/react-native-webgpu.git", :tag => "#{s.version}" } # CocoaPods is the supported default. Package.swift (React Native 0.87+ From aa0cd988d7379d6a1999ad2ddccf2942af764180 Mon Sep 17 00:00:00 2001 From: William Candillon Date: Wed, 4 Nov 2026 08:37:29 +0100 Subject: [PATCH 2/3] docs: list tvOS in the home page hero --- apps/docs/app/(home)/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/app/(home)/page.tsx b/apps/docs/app/(home)/page.tsx index d8cc5ef1e..6fba6879a 100644 --- a/apps/docs/app/(home)/page.tsx +++ b/apps/docs/app/(home)/page.tsx @@ -53,7 +53,7 @@ export default function HomePage() { }`} > Powered by Dawn.
- Built for iOS, Android, macOS, visionOS, and Web. + Built for iOS, tvOS, Android, macOS, visionOS, and Web.

Date: Wed, 4 Nov 2026 08:56:54 +0100 Subject: [PATCH 3/3] =?UTF-8?q?fix(=F0=9F=8D=8F):=20stop=20declaring=20vis?= =?UTF-8?q?ionOS,=20the=20Dawn=20package=20ships=20no=20visionOS=20slice?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- apps/docs/app/(home)/page.tsx | 2 +- apps/docs/content/docs/getting-started/installation.mdx | 4 ++-- packages/webgpu/react-native-webgpu.podspec | 5 +++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/apps/docs/app/(home)/page.tsx b/apps/docs/app/(home)/page.tsx index 6fba6879a..d36a257d4 100644 --- a/apps/docs/app/(home)/page.tsx +++ b/apps/docs/app/(home)/page.tsx @@ -53,7 +53,7 @@ export default function HomePage() { }`} > Powered by Dawn.
- Built for iOS, tvOS, Android, macOS, visionOS, and Web. + Built for iOS, tvOS, Android, macOS, and Web.

Packages > Reset Package Caches) if the error persists. -The Swift package targets iOS only - macOS, Android and visionOS still require the CocoaPods/Gradle autolinked path. See `spm-example` at the root of the [react-native-webgpu repo](https://github.com/wcandillon/react-native-webgpu) for a working reference project, and its README for the gotchas (stale `Package.resolved`, the stub `Podfile`). +The Swift package targets iOS only - tvOS, macOS and Android still require the CocoaPods/Gradle autolinked path. See `spm-example` at the root of the [react-native-webgpu repo](https://github.com/wcandillon/react-native-webgpu) for a working reference project, and its README for the gotchas (stale `Package.resolved`, the stub `Podfile`). ## Setup diff --git a/packages/webgpu/react-native-webgpu.podspec b/packages/webgpu/react-native-webgpu.podspec index f82709363..49d84612f 100644 --- a/packages/webgpu/react-native-webgpu.podspec +++ b/packages/webgpu/react-native-webgpu.podspec @@ -50,12 +50,13 @@ Pod::Spec.new do |s| # React Native's CocoaPods autolinking drops any pod whose podspec does not # declare the Podfile target's platform (#608), so every platform the Dawn # xcframework ships a slice for is listed. react-native-tvos keeps the tvOS - # floor equal to the iOS one (its min_supported_versions helper). + # floor equal to the iOS one (its min_supported_versions helper). visionOS + # is not listed: react-native-webgpu-dawn ships no xros slice, so a visionOS + # target would autolink the pod and then fail to link it. s.platforms = { :ios => min_ios_version_supported, :tvos => min_ios_version_supported, :osx => "10.15", - :visionos => "1.0", } s.source = { :git => "https://github.com/wcandillon/react-native-webgpu.git", :tag => "#{s.version}" }