Getting started
This library provides background uploads for iOS, Android and the web. On iOS, it uses the new BGContinuedProcessingTask API introduced in iOS 26. On Android, the library uses a foreground service.
Features
- Multipart (chunked)
PUTuploads - Pause & resume uploads
- Continue uploads after app or browser restart
- Handles network errors gracefully by pausing the upload after some retries
- Progress callback & live progress notifications on iOS and Android
- Transfer abstraction: Group files in transfers
- Support for presigned urls & S3 API
Requirements
- React Native v0.76.0 or higher
- Node 18.0.0 or higher
iOS
- Background upload is only supported for iOS 26 or later
- Enabled "background fetch" & "background processing" capabilities
- Registered BGTaskSchedulerPermittedIdentifiers of value
$(PRODUCT_BUNDLE_IDENTIFIER).backgroundinside info.plist
Installation
npm i react-native-s3-bg-uploader react-native-nitro-modulesThis library uses the react-native-nitro-modules framework for providing fast native modules for iOS and Android.
Therefore this package must also be added as a dependency.