Repolode
sparrowcode

sparrowcode/PermissionsKit

시스템 권한을 요청하고 상태를 확인하는 통합 API를 제공하는 iOS용 Swift 라이브러리입니다.

스타
5,812
포크
479
열린 이슈
4
마지막 커밋
2개월 전

어떤 프로젝트인가요?

PermissionsKit은 iOS 앱에서 카메라, 위치, 알림, 사진, 연락처 등의 시스템 권한을 요청하고, 각 권한이 허용, 거부 또는 미결정 상태인지 확인할 수 있는 단일 API를 제공합니다. 각 권한은 별도의 Swift 패키지 제품으로 제공되므로 앱에서 실제로 사용하는 권한만 연결하면 됩니다.

이 라이브러리는 관련 설정 작업도 지원합니다. 각 권한에 필요한 Info.plist 사용 목적 설명 키를 제공하고, xliff 내보내기나 InfoPlist.strings 파일을 통해 설명을 현지화할 수 있습니다. FaceID는 예외로, 허용 상태와 미결정 상태를 구분할 수 없으므로 거부 상태만 신뢰할 수 있습니다.

핵심 기능

  • 01단일 API로 권한을 요청하고 상태를 확인합니다.
  • 02각 권한이 별도의 Swift 패키지 제품으로 제공되어 바이너리 크기를 줄입니다.
  • 03Bluetooth, Calendar, Camera, Location, Notifications, Photos, Health 등을 지원합니다.
  • 04각 권한에 필요한 Info.plist 사용 목적 설명 키를 제공합니다.
  • 05xliff 내보내기나 InfoPlist.strings를 통해 사용 목적 설명을 현지화할 수 있습니다.

활용 사례

  • 권한 유형에 관계없이 일관된 방식으로 권한 요청 흐름을 iOS 앱에 추가할 때
  • 카메라나 위치에 의존하는 기능을 표시하기 전에 현재 권한 상태를 확인할 때
  • App Review에 필요한 iOS 앱의 연결 권한 API를 최소한으로 유지할 때

빠른 시작

  1. 1

    저장소 URL을 사용해 Xcode에서 File → Add Package Dependencies를 통해 패키지를 추가합니다

  2. 2

    앱에서 사용하는 권한 제품만 선택한 다음 Swift에서 import합니다

사용 전 알아둘 점

  • iOS만 지원합니다.
  • FaceID는 .authorized와 .notDetermined를 구분할 수 없으므로 .denied만 신뢰할 수 있습니다.

포함된 컬렉션

토픽

자주 묻는 질문

PermissionsKit은(는) 무엇인가요?
시스템 권한을 요청하고 상태를 확인하는 통합 API를 제공하는 iOS용 Swift 라이브러리입니다. PermissionsKit은 iOS 앱에서 카메라, 위치, 알림, 사진, 연락처 등의 시스템 권한을 요청하고, 각 권한이 허용, 거부 또는 미결정 상태인지 확인할 수 있는 단일 API를 제공합니다. 각 권한은 별도의 Swift 패키지 제품으로 제공되므로 앱에서 실제로 사용하는 권한만 연결하면 됩니다.
PermissionsKit은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
PermissionsKit은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
PermissionsKit은(는) 아직 유지보수되고 있나요?
6개월 이내 업데이트. PermissionsKit의 마지막 커밋은 2026년 9월 12일입니다.
PermissionsKit은(는) 어디에 사용할 수 있나요?
권한 유형에 관계없이 일관된 방식으로 권한 요청 흐름을 iOS 앱에 추가할 때 카메라나 위치에 의존하는 기능을 표시하기 전에 현재 권한 상태를 확인할 때 App Review에 필요한 iOS 앱의 연결 권한 API를 최소한으로 유지할 때
PermissionsKit는 어떻게 설치하나요?
저장소 URL을 사용해 Xcode에서 File → Add Package Dependencies를 통해 패키지를 추가합니다 앱에서 사용하는 권한 제품만 선택한 다음 Swift에서 import합니다
PermissionsKit은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/sparrowcode/PermissionsKit

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트