Skip to main content

플랫폼

예제

참조

속성

constants

tsx
static constants: PlatformConstants;

플랫폼과 관련된 모든 공통 및 특정 상수를 포함하는 객체를 반환한다.

속성:

이름
타입선택 사항설명
isTestingboolean아니오
reactNativeVersionobject아니오React Native 버전 정보. 키는 major, minor, patch이며, 선택적으로 prerelease가 포함될 수 있다. 값은 number 타입이다.
Version
Android
number아니오Android에 특정한 OS 버전 상수.
Release
Android
string아니오
Serial
Android
string아니오Android 기기의 하드웨어 일련번호.
Fingerprint
Android
string아니오빌드를 고유하게 식별하는 문자열.
Model
Android
string아니오Android 기기의 사용자에게 보이는 이름.
Brand
Android
string아니오제품/하드웨어와 연결된 소비자에게 보이는 브랜드.
Manufacturer
Android
string아니오Android 기기의 제조사.
ServerHost
Android
string
uiMode
Android
string아니오가능한 값: 'car', 'desk', 'normal','tv', 'watch', 'unknown'. Android ModeType 참고.
forceTouchAvailable
iOS
boolean아니오기기에서 3D Touch의 사용 가능 여부를 나타낸다.
interfaceIdiom
iOS
string아니오기기의 인터페이스 타입. UIUserInterfaceIdiom 참고.
osVersion
iOS
string아니오iOS에 특정한 OS 버전 상수.
systemName
iOS
string아니오iOS에 특정한 OS 이름 상수.

isPad
iOS

tsx
static isPad: boolean;

기기가 iPad인지 여부를 정의하는 불리언 값을 반환한다.

타입
boolean

isTV

tsx
static isTV: boolean;

기기가 TV인지 여부를 정의하는 불리언 값을 반환한다.

타입
boolean

isVision

tsx
static isVision: boolean;

디바이스가 Apple Vision인지 여부를 정의하는 불리언 값을 반환한다. Apple Vision Pro (iPad용으로 디자인됨)을 사용 중이라면 isVisionfalse가 되지만, isPadtrue가 된다.

타입
boolean

isTesting

tsx
static isTesting: boolean;

애플리케이션이 테스트 플래그가 설정된 개발자 모드에서 실행 중인지 여부를 정의하는 불리언 값을 반환한다.

타입
boolean

OS

tsx
static OS: 'android' | 'ios';

현재 운영체제를 나타내는 문자열 값을 반환한다.

타입
enum('android', 'ios')

Version

tsx
static Version: 'number' | 'string';

운영체제의 버전을 반환한다.

타입
number
Android

string
iOS

메서드

select()

tsx
static select(config: Record<string, T>): T;

현재 실행 중인 플랫폼에 가장 적합한 값을 반환한다.

매개변수:

이름타입필수 여부설명
configobject아래 config 설명을 참고하세요.

select 메서드는 현재 실행 중인 플랫폼에 가장 적합한 값을 반환한다. 예를 들어, 휴대폰에서 실행 중이라면 androidios 키가 우선순위를 가진다. 이 키들이 지정되지 않았다면 native 키가 사용되고, 그 다음으로 default 키가 사용된다.

config 매개변수는 다음과 같은 키를 가진 객체다:

  • android (any)
  • ios (any)
  • native (any)
  • default (any)

예제 사용법:

tsx
import {Platform, StyleSheet} from 'react-native';

const styles = StyleSheet.create({
container: {
flex: 1,
...Platform.select({
android: {
backgroundColor: 'green',
},
ios: {
backgroundColor: 'red',
},
default: {
// 다른 플랫폼, 예를 들어 웹
backgroundColor: 'blue',
},
}),
},
});

이 예제는 모든 플랫폼에서 flex: 1을 가지는 컨테이너를 생성한다. 안드로이드에서는 배경색이 녹색, iOS에서는 빨간색, 다른 플랫폼에서는 파란색이 된다.

해당 플랫폼 키의 값은 any 타입이므로, select 메서드는 플랫폼별 컴포넌트를 반환하는 데에도 사용할 수 있다. 아래 예제를 참고하자:

tsx
const Component = Platform.select({
ios: () => require('ComponentIOS'),
android: () => require('ComponentAndroid'),
})();

<Component />;
tsx
const Component = Platform.select({
native: () => require('ComponentForNative'),
default: () => require('ComponentForWeb'),
})();

<Component />;