본문 바로가기
@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의 정밀 위치 및 Android의 세부 위치 권한 업그레이드
  • 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는 무료이며 오픈 소스인가요?

Yes. The source code is public on GitHub at https://github.com/Cap-go/capacitor-permissions/ and the package is free to install from npm. Bug reports and pull requests are welcome.

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

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

앱 심사 대기 없이 권한 변경 사항 배포

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

Capgo부터 시작하세요