가이드
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' });
}
});
전체 레퍼런스
- GitHub: https://github.com/Cap-go/capacitor-permissions/
- 문서: /docs/plugins/permissions/