본문 바로가기
@capgo/capacitor-permissions Device API 오픈 소스

권한 Capacitor 플러그인

PermissionName enum과 정규화된 상태 코드를 사용하여 iOS, Android, 웹에서 런타임 권한을 확인하고 요청합니다

설치

bun add @capgo/capacitor-permissions bunx cap sync
npm, pnpm 또는 yarn
  • npm install @capgo/capacitor-permissions
  • pnpm add @capgo/capacitor-permissions
  • yarn add @capgo/capacitor-permissions

가이드

Capacitor에서 Permissions 사용법

@capgo/capacitor-permissions 사용하기

iOS, Android, 웹에서 정규화된 상태 코드로 런타임 권한을 확인하고 요청하는 TypeScript API 하나.

설치

bun add @capgo/capacitor-permissions
bunx cap sync

플러그인이 제공하는 기능

  • check - 프롬프트 없이 권한 하나의 현재 상태를 확인합니다.
  • request - 사용자에게 권한 하나를 요청합니다.
  • checkMultiple - 프롬프트 없이 여러 권한을 확인합니다.
  • requestMultiple - 여러 권한을 순차적으로 요청합니다.
  • shouldShowRationale - Android에서 다시 요청하기 전에 rationale을 표시할지 여부입니다.
  • openSettings - 접근이 차단되면 앱 또는 알림 설정을 엽니다.
  • requestPreciseLocation - iOS에서는 precise location으로, Android에서는 fine location으로 업그레이드합니다.
  • getPluginVersion - 플랫폼 구현체의 버전 마커를 반환합니다.

사용 예시

check 및 request

import { Permissions } from '@capgo/capacitor-permissions';

export async function ensureCamera(): Promise<boolean> {
  const { status } = await Permissions.check({ permission: 'camera' });
  if (status === 'granted') return true;
  const { status: afterRequest } = await Permissions.request({ permission: 'camera' });
  return afterRequest === 'granted';
}

openSettings

import { Permissions } from '@capgo/capacitor-permissions';

document.getElementById('camera-settings')?.addEventListener('click', async () => {
  const { status } = await Permissions.check({ permission: 'camera' });
  if (status === 'blocked') {
    await Permissions.openSettings({ type: 'application' });
  }
});

전체 레퍼런스

자주 묻는 질문

Permissions 플러그인 FAQ

Capacitor 앱에 Permissions 플러그인을 어떻게 설치하나요?

"bun add @capgo/capacitor-permissions"(또는 "npm install @capgo/capacitor-permissions")를 실행한 다음 "bunx cap sync"를 실행해 iOS와 Android 프로젝트가 네이티브 code를 인식하도록 하세요. 앱 code에서 "@capgo/capacitor-permissions"를 import 하면 됩니다.

@capgo/capacitor-permissions가 React, Vue, Angular와 호환되나요?

네. Permissions는 Capacitor 패키지이므로 Ionic, React, Vue, Angular, Svelte, 순수 JavaScript를 포함해 Capacitor에서 실행되는 모든 웹 프레임워크와 호환됩니다.

@capgo/capacitor-permissions는 어떤 Capacitor 버전을 지원하나요?

Capgo 플러그인은 Capacitor의 메이저 버전을 따릅니다. 사용 중인 Capacitor 메이저 버전과 일치하는 플러그인 메이저 버전을 사용하세요 (예: Capacitor 8에는 플러그인 v8). 유지 관리되는 버전은 GitHub README의 호환성 표에서 확인할 수 있습니다.

@capgo/capacitor-permissions는 무료이며 오픈 소스인가요?

네. code 소스 코드는 GitHub의 https://github.com/Cap-go/capacitor-permissions/에 공개되어 있고, npm에서 무료로 설치할 수 있습니다. 버그 리포트와 pull request는 언제든 환영합니다.

App Store 심사 없이 Permissions를 사용하는 code를 업데이트할 수 있나요?

플러그인을 설치하거나 업그레이드하면 네이티브 code가 변경되므로 새로운 스토어 빌드가 필요합니다. 그 이후에는 플러그인을 호출하는 JavaScript, HTML, CSS 변경 사항을 Capgo live updates로 즉시 배포할 수 있습니다.

앱 리뷰 대기 없이 Permissions 변경 사항을 배포하세요

스토어 빌드에 플러그인이 포함되면, Capgo live updates로 JavaScript, HTML, CSS 변경 사항을 몇 분 만에 사용자에게 푸시할 수 있습니다.

Capgo로 시작하기