[React Native(RN)/android, ios] 리액트 네이티브에서 안드로이드/ios/태블릿 구분하기



1. Problem

react-native 를 사용하면 손쉽게 ios/android 앱을 한 번에 개발할 수 있습니다. 하지만 각 플랫폼의 특성이 존재하기 때문에 개발하면서 어떤 os인지, ios/android 를 구분해야 하는 일이 생깁니다. 이 때, 어떻게 해야 손쉽게 플랫폼을 구분할 수 있을까요?

2. Solution

2.1. ios/Android 구분하기

react-native 에서 플랫폼 구분하는 방법은 아래와 같습니다. ‘react-native’ 라이브러리에서 제공하는 Platform을 사용하면 손쉽게 확인할 수 있습니다.

import { Platform } from 'react-native';

const platform = Platform.OS;

위의 명령어는 아래와 같이 사용하여 플랫폼을 손쉽게 구분할 수 있습니다.

const defaultIP = Platform.OS === 'ios'
    ? 'localhost' // ios default ip
    : '10.0.0.2'; // android default ip

Platform.OSiosandroid 스트링(string)값을 return 합니다.

2.2. Pad인지 구분하기

react-native 에서 태블릿은 아래와 같이 구분할 수 있습니다. 이 역시 ‘react-native’ 라이브러리에서 제공하는 Platform을 사용하면 손쉽게 확인할 수 있습니다.

const isPad = Platform.isPad;

Platform.isPad 는 boolean 값을 return 합니다.