Skip to content

fix(ios): avoid unavailable libc++ exception_ptr symbol on iOS < 18 - #1675

Open
vnahornyi wants to merge 1 commit into
margelo:mainfrom
vnahornyi:codex/issue-1652-promise-exception
Open

vnahornyi wants to merge 1 commit into
margelo:mainfrom
vnahornyi:codex/issue-1652-promise-exception

Conversation

@vnahornyi

@vnahornyi vnahornyi commented Oct 7, 2026 •

Copy link
Copy Markdown

Summary

  • Replace std::make_exception_ptr with throw/catch and std::current_exception() in iOS/shared C++ exception paths, avoiding the missing libc++ symbol on iOS versions below 18 when built with Xcode 27.
  • Add runtime coverage for destroying pending Promise<void> and Promise<double> instances.
  • Assert that the error message survives the Swift/Kotlin/C++ callback boundary.

Closes #1652

Validation

  • bun run typecheck in apps/example — passed.
  • bun run test -- --watchman=false in packages/react-native-nitro-test — passed; the suite currently has one todo test.
  • The built Nitrogen CLI regenerated bindings for react-native-nitro-test-external and react-native-nitro-test. The bun specs wrapper could not resolve nitrogen from PATH.
  • The runtime harness could not run locally: the Android runner exited with AbortError before suites; iOS Simulator was unavailable.

@vercel

vercel Bot commented Oct 7, 2026

Copy link
Copy Markdown

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

1 Skipped Deployment
Project Deployment Actions Updated
nitro-docs Skipped Skipped Oct 7, 2026 7:14am UTC

Request Review

@vnahornyi vnahornyi changed the title fix: avoid make_exception_ptr for iOS exceptions fix(ios): avoid unavailable libc++ exception_ptr symbol on iOS < 18 Oct 7, 2026

This branch was previously deployed

1 inactive deployment
Preview — fe0a14d7 Deployed Oct 7, 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.

iOS: dyld "Symbol not found: std::exception_ptr::__from_native_exception_pointer" on iOS < 18 when built with Xcode 27

1 participant