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.