Skip to content

build(ios)!: build with Swift Package Manager - #458

Open
chrispader wants to merge 1 commit into
nitro-v1/built-entry-pointsfrom
nitro-v1/ios-swiftpm
Open

chrispader wants to merge 1 commit into
nitro-v1/built-entry-pointsfrom
nitro-v1/ios-swiftpm

Conversation

@chrispader

@chrispader chrispader commented Oct 22, 2026 •

Copy link
Copy Markdown
Member

Nitro V1 only supports Swift Package Manager on iOS, so the CocoaPods setup can't build the library anymore. This adds Package.swift manifests for the library and sqlite-vec, moves the example app to Swift Package Manager, and runs iOS CI on GitHub's xcode-27 image for Swift 6.4.

  • Package.swift reads the app's nitroSQLite settings and the existing environment variables like the podspec did. The Podfile post_install examples for FTS5 and SEE become a new nitroSQLite.iosSqliteFlags setting. SwiftPM caches the evaluated manifest, so a package.json change only applies after clearing ~/Library/Caches/org.swift.swiftpm/manifests.
  • sqlite-vec registers itself when SwiftPM links it, which replaces NITRO_SQLITE_VEC=1 on iOS.
  • The podspecs stay so React Native CLI can still discover both packages.
  • The example patches the manifests that react-native spm scaffold generates for react-native-screens and the clipboard module.

🤖 Generated with Claude Code

@vercel

vercel Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
react-native-nitro-sqlite Ready Ready Preview Oct 23, 2026 12:19am UTC

Request Review

Nitro V1 only builds iOS through Swift Package Manager. Package.swift
manifests now build the library and sqlite-vec. The library reads the
app's nitroSQLite settings like the podspec did and adds iosSqliteFlags
for custom SQLite definitions, and sqlite-vec registers itself when
SwiftPM links it. The podspecs remain so React Native CLI can discover
the packages.

The example app moves to Swift Package Manager with patched manifests
for react-native-screens and the clipboard module, and iOS CI resumes
on Xcode 27.

BREAKING CHANGE: iOS apps must build with Swift Package Manager and
Xcode with Swift 6.4 or newer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chrispader
chrispader removed this pull request from stack #464 October 23, 2026 00:18
@chrispader
chrispader force-pushed the nitro-v1/ios-swiftpm branch from d7126ed to f48b970 Compare October 23, 2026 00:19
@chrispader
chrispader added this pull request to stack #466 October 23, 2026 00:19

This branch was successfully deployed

1 active deployment
Preview — f48b9704 Deployed Oct 23, 2026 by vercel[bot]
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