# 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.movesdk.com/move-platform/move-sdk-1.x/sdk/getting-started/react-native.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
