[UIKit] info.plist 권한 총정리

2024. 8. 13. 16:54·Swift
728x90

앱개발을 하다 info.plist에 권한 요청을 추가하지 않아 카메라 / 폴더 접근 등 중요한 기능을 사용해야 될 때 사용하지 못한 적이 많았다.

그래서 애플 공식 문서에 나와있는 info.plist의 권한을 카테고리별로 총정리하려 한다.

먼저 info.plist가 도대체 무엇이고 무슨 역할을 하고 있을까?


Info.plist 란?

Info.plist는 iOS, macOS 앱에서 사용되는 중요한 구성 파일이라고 할 수 있다.

이 파일은 앱의 메타데이터와 설정 정보를 포함하고 있으며, 키-값의 쌍으로 구성된다.

 

Info.plist는 기본적으로 앱의 기본 정보를 제공한다.
앱의 기본 정보로는 뭐가있을까? -> 버전, 번들 ID 등이 있다고 보면 된다.

 

또한 우리는 Info.plist를 시스템 권한 요청 시 사용자에게 표시할 메시지 정의, 그리고 앱의 기능과 필요한 디바이스 기능 등의 요구사항을 명시할 때 자주 쓰게 된다. 이를 통해 개발자는 앱이 왜 특정 권한을 필요로 하는지 사용자에게 명확히 설명할 수 있다.

 

그럼 이제 애플 공식 문서에 나와있는 주요 프라이버시 관련 키들과 그 용도를 카테고리별로 정리해보자.


권한 총정리

2024.08.13 기준. Deprecated 된 권한 제외.

Bluetooth

  • NSBluetoothAlwaysUsageDescription: 앱이 Bluetooth에 접근해야 하는 이유를 설명하는 메시지

Calendar and Reminders

  • NSCalendarsFullAccessUsageDescription: 앱이 사용자의 캘린더 데이터를 읽고 쓰는 접근 권한을 요청하는 이유를 설명하는 메시지
  • NSCalendarsWriteOnlyAccessUsageDescription: 앱이 캘린더 이벤트를 생성하는 접근 권한을 요청하는 이유를 설명하는 메시지
  • NSRemindersFullAccessUsageDescription: 앱이 사용자의 리마인더 데이터를 읽고 쓰는 접근 권한을 요청하는 이유를 설명하는 메시지

Camera and Microphone

  • NSCameraUsageDescription: 앱이 디바이스의 카메라에 접근하는 이유를 설명하는 메시지
  • NSMicrophoneUsageDescription: 앱이 디바이스의 마이크에 접근하는 이유를 설명하는 메시지

Contacts

  • NSContactsUsageDescription: 앱이 사용자의 연락처에 접근하는 이유를 설명하는 메시지

Face ID

  • NSFaceIDUsageDescription: 앱이 Face ID로 인증하는 기능을 요청하는 이유를 설명하는 메시지

Files and Folders

  • NSDesktopFolderUsageDescription: 앱이 사용자의 Desktop 폴더에 접근하는 이유를 설명하는 메시지
  • NSDocumentsFolderUsageDescription: 앱이 사용자의 Documents 폴더에 접근하는 이유를 설명하는 메시지
  • NSDownloadsFolderUsageDescription: 앱이 사용자의 Downloads 폴더에 접근하는 이유를 설명하는 메시지
  • NSNetworkVolumesUsageDescription: 앱이 네트워크 볼륨의 파일에 접근하는 이유를 설명하는 메시지
  • NSRemovableVolumesUsageDescription: 앱이 이동식 볼륨의 파일에 접근하는 이유를 설명하는 메시지
  • NSFileProviderDomainUsageDescription: 앱이 파일 제공자가 관리하는 파일에 접근하는 이유를 설명하는 메시지

Game Center

  • NSGKFriendListUsageDescription: 앱이 사용자의 Game Center 친구 목록에 접근하는 이유를 설명하는 메시지

Health

  • NSHealthClinicalHealthRecordsShareUsageDescription: 앱이 임상 기록을 읽는 권한을 요청하는 이유를 설명하는 메시지
  • NSHealthShareUsageDescription: 앱이 HealthKit 저장소에서 샘플을 읽는 권한을 요청하는 이유를 설명하는 메시지
  • NSHealthUpdateUsageDescription: 앱이 HealthKit 저장소에 샘플을 저장하는 권한을 요청하는 이유를 설명하는 메시지

Home

  • NSHomeKitUsageDescription: 앱이 사용자의 HomeKit 구성 데이터에 접근하는 이유를 설명하는 메시지

Location

  • NSLocationAlwaysAndWhenInUseUsageDescription: 앱이 항상 사용자의 위치 정보에 접근하는 이유를 설명하는 메시지
  • NSLocationWhenInUseUsageDescription: 앱이 포그라운드에서 실행 중일 때 사용자의 위치 정보에 접근하는 이유를 설명하는 메시지
  • NSLocationTemporaryUsageDescriptionDictionary: 앱이 사용자의 위치에 임시로 접근하는 이유를 설명하는 메시지 모음

Media Player

  • NSAppleMusicUsageDescription: 앱이 사용자의 미디어 라이브러리에 접근하는 이유를 설명하는 메시지

Motion

  • NSMotionUsageDescription: 앱이 디바이스의 모션 데이터에 접근하는 이유를 설명하는 메시지
  • NSFallDetectionUsageDescription: 앱이 낙상 감지 이벤트 데이터에 접근하는 권한을 요청하는 이유를 설명하는 메시지

Networking

  • NSLocalNetworkUsageDescription: 앱이 로컬 네트워크에 접근하는 이유를 설명하는 메시지
  • NSNearbyInteractionUsageDescription: 앱이 근처 기기와의 상호작용 세션을 시작하는 권한을 요청하는 이유를 설명하는 메시지
  • NSNearbyInteractionAllowOnceUsageDescription: 앱이 근처 기기와의 상호작용 세션을 한 번 시작하는 권한을 요청하는 이유를 설명하는 메시지

NFC

  • NFCReaderUsageDescription: 앱이 디바이스의 NFC 하드웨어에 접근하는 이유를 설명하는 메시지

Photos

  • NSPhotoLibraryAddUsageDescription: 앱이 사용자의 사진 라이브러리에 추가만 하는 접근 권한을 요청하는 이유를 설명하는 메시지
  • NSPhotoLibraryUsageDescription: 앱이 사용자의 사진 라이브러리에 접근하는 이유를 설명하는 메시지

Security

  • NSUserTrackingUsageDescription: 앱이 사용자 또는 디바이스 추적을 위한 데이터 사용 권한을 요청하는 이유를 설명하는 메시지
  • NSAppleEventsUsageDescription: 앱이 Apple 이벤트를 보내는 능력을 요청하는 이유를 설명하는 메시지

Sensors

  • NSSensorKitUsageDescription: 앱의 연구 목적에 대한 간단한 설명
  • NSSensorKitUsageDetail: 앱이 수집하는 특정 정보에 대한 키를 포함하는 딕셔너리
  • NSSensorKitPrivacyPolicyURL: 앱의 연구 관련 개인정보 보호정책을 표시하는 웹페이지 하이퍼링크

Siri

  • NSSiriUsageDescription: 앱이 사용자 데이터를 Siri에 보내는 이유를 설명하는 메시지

Speech

  • NSSpeechRecognitionUsageDescription: 앱이 사용자 데이터를 Apple의 음성 인식 서버로 보내는 이유를 설명하는 메시지

TV

  • NSVideoSubscriberAccountUsageDescription: 앱이 사용자의 TV 제공자 계정에 접근하는 이유를 설명하는 메시지

Vision

  • NSWorldSensingUsageDescription: 앱이 이미지 추적, 평면 감지 또는 장면 재구성에 접근하는 이유를 설명하는 메시지
  • NSHandsTrackingUsageDescription: 앱이 사용자의 손 위치와 위치를 추적하는 접근 권한을 요청하는 이유를 설명하는 메시지

Wallet

  • NSFinancialDataUsageDescription: 앱이 Wallet에 저장된 재무 데이터에 접근하는 이유를 설명하는 메시지
  • NSIdentityUsageDescription: 앱이 신원 정보에 접근하는 이유를 설명하는 메시지
728x90

'Swift' 카테고리의 다른 글

[UIKit] Navigation Bar 숨기기  (0) 2024.08.05
[UIKit] AppDelegate와 SceneDelegate의 차이  (0) 2024.08.04
'Swift' 카테고리의 다른 글
  • [UIKit] Navigation Bar 숨기기
  • [UIKit] AppDelegate와 SceneDelegate의 차이
프론트 개발자 김현중
프론트 개발자 김현중
👋반갑습니다 저는 나눔을 실천하는 개발자 꿈나무 김현중입니다⌨️🚀
  • 프론트 개발자 김현중
    삥구의 개발블로그
    프론트 개발자 김현중
  • 전체
    오늘
    어제
    • 분류 전체보기 (95)
      • 알고리즘 (5)
      • Swift (3)
      • 컴퓨터네트워크 (1)
      • React (39)
      • Docker (1)
      • SQL (8)
      • Database (2)
      • 배포 (1)
      • Spring (9)
      • TypeScript (5)
      • Next.js (13)
      • Git (1)
      • 회고 (1)
      • 컴퓨터그래픽스 (2)
      • Python (1)
      • Brew (1)
      • LangChain (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    database
    javascript
    appRouter
    프론트엔드
    데이터베이스
    MySQL
    백준
    Next.js
    ReactHooks
    typescript
    Backend
    nextjs
    웹개발
    react
    Spring
    알고리즘
    java
    springboot
    코딩테스트
    frontend
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.1
프론트 개발자 김현중
[UIKit] info.plist 권한 총정리
상단으로

티스토리툴바