> For the complete documentation index, see [llms.txt](https://docs.movesdk.com/move-platform/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.movesdk.com/move-platform/move-sdk-1.x/sdk/getting-started/react-native.md).

# React Native

## Installation

```bash
npm install react-native-move-sdk --save
#or
yarn add react-native-move-sdk
```

## Setup

### iOS

#### Configuration

1. Using the **terminal**, access the **iOS folder** in your project
2. Run `$`<mark style="color:blue;">`pod install`</mark>&#x20;
3. Open the ***.xcworkspace*** folder using **Xcode**
4. Go to the **Capabilities** tab of your target settings
5. Turn on **Background Modes** and enable **Location updates**

![Location updates background mode capability](/files/-MaWrFoEnyiReo8XoJL3)

### Android

Include the maven repository to your gradle build script, where the MOVE SDK package is located.

```bash
maven { 
    url "https://dolphin.jfrog.io/artifactory/move-sdk-libs-release" 
}
```

Add the dependency for the  MOVE SDK Android library to your module (app-level) Gradle file (usually app/build.gradle).

{% hint style="info" %}
You can check for latest releases here:\
<https://dolphin.jfrog.io/ui/native/move-sdk-libs-release/io/dolphin/move/move-sdk>
{% endhint %}

## Permissions

{% hint style="danger" %}
**System Permissions**

Based on the passed [MoveConfigs](/move-platform/move-sdk-1.x/sdk/models/moveauth.md) on[`initialization`](/move-platform/move-sdk-1.x/sdk/api-interface/ios/intialization.md), the SDK determines the required permissions to activate the requested services. If all permissions are granted when the SDK is initialised, it will transit to the [MoveSDKState](/move-platform/move-sdk-1.x/sdk/models/movedevicestatus.md) "`ready`".\
\
The host app **must** verify that all the permissions required for the passed configs are granted. In case the required permissions were missing when calling the SDK [initialization](/move-platform/move-sdk-1.x/sdk/api-interface/ios/intialization.md) API, the [MoveSDKState](/move-platform/move-sdk-1.x/sdk/models/movedevicestatus.md) will transit to [MoveSDKState](/move-platform/move-sdk-1.x/sdk/models/movedevicestatus.md) "`permissionMissingerror`".

Check [iOS permission handling](/move-platform/move-sdk-1.x/sdk/appendix/ios/permission-handling.md) and[ Android permission handling](/move-platform/move-sdk-1.x/sdk/appendix/android/permission-handling.md) for details about permissions and background modes required for each service.
{% endhint %}
