Documentation Index
Fetch the complete documentation index at: https://docs.privacyboost.io/llms.txt
Use this file to discover all available pages before exploring further.
Build from Source
Build the React Native SDK from the repository and link it into your app. Use this when you need to:- Consume an unreleased branch
- Target an ABI the prebuilt package doesn’t ship (e.g. Android
x86) - Apply a local patch
- Audit the native code before shipping
Prerequisites
- Rust toolchain (
rustup) - Node.js 20+
- Xcode 15+ with command-line tools (for iOS)
- Android NDK 26+ with
ANDROID_NDK_HOMEset (for Android) cargo-ndkinstalled:cargo install cargo-ndk
Build
From thesdk/ directory:
packages/privacy-boost-react-native/sunnyside-io-privacy-boost-react-native-<version>.tgz.
Granular targets
If you only need one platform or want to skip ahead:| Target | What it does |
|---|---|
make rn-ios | Builds the iOS xcframework and regenerates TS bindings |
make rn-android | Builds Android .a per ABI and regenerates TS bindings |
make rn-build | Typechecks, runs unit tests, and builds the JS bundle via bob |
make rn-mock | Regenerates only the Jest mock (if you’re iterating on tests) |
make rn-archive | All of the above, then npm pack |
Install the tarball
In your RN app:Developing against a local checkout
For tight iteration (edit Rust → rebuild → test in app), skip the tarball and link the package directly. From your app:Gotcha: JS changes in the SDK package needmake rn-buildor Metro won’t see them. Thereact-nativefield inpackage.jsonpoints atsrc/, so Metro does resolve TS source directly — butlib/is what CJS/ESM consumers see.
Common build errors
ANDROID_NDK_HOME not set
Install the NDK via Android Studio’s SDK Manager, then:
error: linker 'cc' not found on Android build
cargo-ndk isn’t installed, or your toolchain is stale. Run
cargo install cargo-ndk and retry.
Found incorrect path in 'types' field on npm run build
You skipped the post-codegen patch step. The Makefile targets run it for you;
if you invoked npm run ubrn:ios directly, also run
bash sdk/scripts/fix-ubrn-codegen.sh.
Tests fail with mock drift errors
make rn-mock regenerates the Jest mock from the current bindings. Run it
after any UDL change.
What gets built
lib/ is gitignored — regeneration is expected on every
branch checkout that changes UDL or Rust source.