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