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}" }