Skip to main content

Installation

Requirements

ComponentRequirement
React Native0.86+
react-native-nitro-modules0.36+
Node22.11+
Xcode15+ (iOS)
AndroidminSdk 23, NDK 27.1.12297006

Install the package

npm install @salve-software/react-native-salve-db react-native-nitro-modules

iOS

Install pods:

cd ios && pod install && cd ..

Background sync and the OAuth2 credential provider both need explicit entitlements. Add to your app target:

Info.plist

<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
<string>com.salvedb.background.sync</string>
</array>
<key>UIBackgroundModes</key>
<array>
<string>processing</string>
</array>

*.entitlements

<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
</array>

Without these, the app builds and runs fine — the background scheduler just never fires and the credential provider can't persist tokens. There's no runtime error to point you at it, so it's easy to miss.

Android

None. The library declares INTERNET and ACCESS_NETWORK_STATE in its own manifest and registers the WorkManager job automatically — a Gradle sync is enough.

What's next

Continue to the Quick Start to define your first schema and run a query.