For the complete documentation index, see llms.txt. This page is also available as Markdown.

Permissions

디바이스 권한(클립보드·연락처·앨범·카메라·마이크·위치)의 조회·요청 기능과 권한 에러 클래스를 제공해요.

API 목록

API
설명

getPermission

권한의 현재 상태를 조회해요

requestPermission

권한을 요청하고 결과를 반환해요

openPermissionDialog

권한 설정 다이얼로그를 띄워요

권한 에러 클래스 7종(OpenCameraPermissionError 등)도 함께 제공돼요 — 권한이 필요한 API가 거부됐을 때 이 클래스들의 인스턴스가 던져져요.

withPermission

기능 설명

권한이 필요한 함수를 감싸요. 감싼 함수를 호출하면 먼저 해당 권한을 요청하고, 거부되면 errorClass로 전달한 에러를 던지고, 허용되면 원래 함수를 실행해요.

반환된 함수에는 같은 권한을 조회하는 getPermission()과 권한을 다시 요청하는 openPermissionDialog()가 정적 메서드로 붙어요. 프레임워크 내부의 Clipboard.getText, Device.getPhotos 같은 API가 이 함수로 만들어져서 Clipboard.getText.getPermission() 형태로 권한을 확인할 수 있어요.

타입

Params

function withPermission<T extends (...args: any[]) => any>(
  fn: T, // 권한이 허용된 뒤 실행할 함수
  name: PermissionName, // 요청할 권한 이름
  access: PermissionAccess, // 요청할 접근 종류
  errorClass: new () => PermissionErrorType, // 권한이 거부되면 던질 에러 클래스
): PermissionFunctionWithDialog<T>;

Response

에러

코드
설명

errorClass로 전달한 에러

권한 요청 결과가 denied인 경우예요.

예시 코드

PermissionError

기능 설명

권한 에러의 공통 부모 클래스예요. 여러 권한 에러를 한 번에 처리할 때 error instanceof PermissionError로 확인할 수 있어요. name`${methodName} permission error` 형식이에요.

타입

Params

Response

예시 코드

GetClipboardTextPermissionError

기능 설명

클립보드 읽기 권한이 거부되었을 때 발생하는 에러예요. error instanceof GetClipboardTextPermissionError로 확인할 수 있어요. PermissionError를 상속해요.

타입

예시 코드

SetClipboardTextPermissionError

기능 설명

클립보드 쓰기 권한이 거부되었을 때 발생하는 에러예요. error instanceof SetClipboardTextPermissionError로 확인할 수 있어요. PermissionError를 상속해요.

타입

예시 코드

FetchContactsPermissionError

기능 설명

연락처 권한이 거부되었을 때 발생하는 에러예요. error instanceof FetchContactsPermissionError로 확인할 수 있어요. PermissionError를 상속해요.

타입

예시 코드

FetchAlbumPhotosPermissionError

기능 설명

사진첩 권한이 거부되었을 때 발생하는 에러예요. error instanceof FetchAlbumPhotosPermissionError로 확인할 수 있어요. PermissionError를 상속해요.

타입

예시 코드

GetCurrentLocationPermissionError

기능 설명

위치 권한이 거부되었을 때 발생하는 에러예요. error instanceof GetCurrentLocationPermissionError로 확인할 수 있어요. PermissionError를 상속해요.

타입

예시 코드

StartUpdateLocationPermissionError

기능 설명

위치 업데이트 권한이 거부되었을 때 발생하는 에러예요. GetCurrentLocationPermissionError와 같은 클래스를 가리키는 별칭이라서 error instanceof StartUpdateLocationPermissionErrorGetCurrentLocationPermissionError 인스턴스에도 true예요.

타입

예시 코드

OpenCameraPermissionError

기능 설명

카메라 권한이 거부되었을 때 발생하는 에러예요. error instanceof OpenCameraPermissionError로 확인할 수 있어요. PermissionError를 상속해요.

타입

예시 코드

PermissionName

기능 설명

권한을 식별하는 이름 타입이에요.

타입

PermissionAccess

기능 설명

권한의 접근 종류 타입이에요. read/write는 클립보드·연락처·사진첩처럼 읽기/쓰기가 구분되는 권한에, access는 위치·카메라·마이크처럼 구분이 없는 권한에 사용해요.

타입

PermissionStatus

기능 설명

권한의 상태 타입이에요. notDetermined는 사용자가 아직 권한 요청에 응답하지 않은 상태예요.

타입

PermissionFunctionName

기능 설명

권한 에러가 발생하는 함수 이름 타입이에요. PermissionErrorname을 구성할 때 사용해요.

타입

PermissionErrorConstructorParams

기능 설명

PermissionError 생성자에 전달하는 파라미터 타입이에요.

타입

PermissionErrorType

기능 설명

withPermissionerrorClass 파라미터가 만들어 내는 에러 인스턴스의 형태예요.

타입

GetPermissionFunction

기능 설명

withPermission으로 래핑된 함수에 붙는 getPermission 정적 메서드의 시그니처예요.

타입

PermissionDialogFunction

기능 설명

withPermission으로 래핑된 함수에 붙는 openPermissionDialog 정적 메서드의 시그니처예요.

타입

PermissionFunctionWithDialog

기능 설명

withPermission이 반환하는 함수 타입이에요. 원래 함수 시그니처에 getPermission/openPermissionDialog 정적 메서드가 더해진 형태예요.

타입

도움이 되었나요?