---
description: We are using React Native to build application for both IOS and Android.
---

# Customize Application

## 1: General

&#x20;Download theme from themefore then unzip, you will see APP folder includes:

\+ **Android App Demo**: It is .apk file that used to install in Android OS

![](https://4016371164-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M1-bzGggknMKVWOqg5-%2F-MIMwuGfeTtbCk7Upkig%2F-MIMxw3PGDmq4sF30egS%2FScreen%20Shot%202020-09-29%20at%2010.45.41%20AM.jpg?alt=media\&token=e149e6b0-4cba-4093-bfe5-783ce490ab2b)

\
\+ **Code**: This is React Native Code, you can use it to customize code like add logo, change words...

![](https://4016371164-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M1-bzGggknMKVWOqg5-%2F-MIMwuGfeTtbCk7Upkig%2F-MIMy9i5SOIQ4PgxmRnK%2FScreen%20Shot%202020-09-29%20at%2010.46.26%20AM.jpg?alt=media\&token=bdf1ccf4-dffd-449e-851a-0d378f85ff7b)

\+ **instruction\_build\_app.rtf**: This is instruction file to build code

![](https://4016371164-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M1-bzGggknMKVWOqg5-%2F-MIMwuGfeTtbCk7Upkig%2F-MIMyKUUDxMHCcjjNFL8%2FScreen%20Shot%202020-09-29%20at%2010.46.35%20AM.jpg?alt=media\&token=0a0d73b0-24f5-4b87-bdaf-b7898a5d402b)

## 2: Build Application

We use React Native for creating app. You can follow instruction for making your app.

```
- Step 1: Setting up the development environment

https://reactnative.dev/docs/environment-setup

- Step 2: Create Project
+ Open terminal 
+ cd to Root folder that included project
+ Run code in terminal:
npx react-native init testmeup

- Step 3: Run project
+ Go to project by command:
cd testmeup
Run in IOS: npx react-native run-ios
Run in Android: npx react-native run-android
+ The project setup correctly if you see “Welcome To React Native” screen. If you can’t see this screen, please check again step 1 and create again project to test.


- Step 4: Install dependencies

+ npm install @react-native-async-storage/async-storage
+ npm install react-native-barcode-mask
+ npm install react-native-camera
+ npm install react-native-gesture-handler
+ npm install @react-navigation/native
+ npm install @react-navigation/native-stack
+ npm i deprecated-react-native-prop-types
+ npm install react-native-screens
+ npm install react-native-safe-area-context

- Step 5: Fix for React Native Camera

- Develop environment in MacOs - IOS

- Go to testmeup/ios/testmeup/Info.plist and add bellow code. Note insert before </dict>

	<key>NSCameraUsageDescription</key>
    <string>${PRODUCT_NAME} Camera Usage</string>

    <key>NSBluetoothPeripheralUsageDescription</key>
    <string>${PRODUCT_NAME} BluetoothPeripheral</string>

    <key>NSCalendarsUsageDescription</key>
    <string>${PRODUCT_NAME} Calendar Usage</string>

    <key>NSContactsUsageDescription</key>
    <string>${PRODUCT_NAME} Contact fetch</string>

    <key>NSHealthShareUsageDescription</key>
    <string>${PRODUCT_NAME} Health Description</string>

    <key>NSHealthUpdateUsageDescription</key>
    <string>${PRODUCT_NAME} Health Updates</string>

    <key>NSHomeKitUsageDescription</key>
    <string>${PRODUCT_NAME} HomeKit Usage</string>

    <key>NSLocationAlwaysUsageDescription</key>
    <string>${PRODUCT_NAME} Use location always</string>

    <key>NSLocationUsageDescription</key>
    <string>${PRODUCT_NAME} Location Updates</string>

    <key>NSLocationWhenInUseUsageDescription</key>
    <string>${PRODUCT_NAME} WhenInUse Location</string>

    <key>NSAppleMusicUsageDescription</key>
    <string>${PRODUCT_NAME} Music Usage</string>

    <key>NSMicrophoneUsageDescription</key>
    <string>${PRODUCT_NAME} Microphone Usage</string>

    <key>NSMotionUsageDescription</key>
    <string>${PRODUCT_NAME} Motion Usage</string>

    <key>kTCCServiceMediaLibrary</key>
    <string>${PRODUCT_NAME} MediaLibrary Usage</string>

    <key>NSPhotoLibraryUsageDescription</key>
    <string>${PRODUCT_NAME} PhotoLibrary Usage</string>

    <key>NSRemindersUsageDescription</key>
    <string>${PRODUCT_NAME} Reminder Usage</string>

    <key>NSSiriUsageDescription</key>
    <string>${PRODUCT_NAME} Siri Usage</string>

    <key>NSSpeechRecognitionUsageDescription</key>
    <string>${PRODUCT_NAME} Speech Recognition Usage</string>

    <key>NSVideoSubscriberAccountUsageDescription</key>
    <string>${PRODUCT_NAME} Video Subscribe Usage</string>

- Install pod by:
+ cd ios
+ pod install


- Develop environment in MacOs - Android

+ Install Android Studio 

+ Add permissions to your app android/app/src/main/AndroidManifest.xml file:

	<!-- Required -->
    <uses-permission android:name="android.permission.CAMERA" />

    <!-- Include this only if you are planning to use the camera roll -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <!-- Include this only if you are planning to use the microphone for video recording -->
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>


+ Insert the following lines in android/app/build.gradle:
android {
  ...
  defaultConfig {
    ...
    missingDimensionStrategy 'react-native-camera', 'general' // <--- insert this line
  }
}

Note: You have to one Android Studio before run above command also choose simulator output in Android Studio.


Step 6: Copy App.tsx and ‘src’ folder from ‘Code’ folder in package to ‘testmeup’ folder

- Run app in IOS
+ cd root/testmeup
+ npx react-native run-ios

- Run app in Android
+ cd root/testmeup
+ npx react-native run-android

Step 7: For first login app:
Please login app then logout and login again.

```
