[iOS] info.plist / AppProject

growing·2022년 12월 21일

iOS

목록 보기
1/15
post-thumbnail

📚 info.plist(= Information Property List Files)

A resource containing key-value pairs that identify and configure a bundle.
= bundle을 식별하고 구성하는 키-값 쌍들을 포함하는 리소스
 (bundle: 실행 가능한 코드와 자원들을 한 공간에 그룹짓는 directory. 쉽게 말해 하나의 '프로젝트')
  • 운영 체제가 App과 상호 작용하는 데 사용하는 iOS 모바일 앱의 구성에 대한 중요한 정보가 포함된 설정 파일이며, 모바일 App이 컴파일될 때 자동으로 생성된다.
  • 이 정보는 App store와 iOS에서 App의 기능을 확인하고 주요 리소스를 찾는 데 사용되며 UIKit은 유저가 제공한 이 정보를 이용하여 앱 scene을 만든다.

  • Bundle name : 사용자가 보는 앱의 실제 이름
  • Bundle identifier : 앱의 식별자
  • InfoDictionary version : info.plist의 현재 버전
  • Main storyboard file base name : 메인 스토리보드 파일 이름
  • Bundle version : 번들의 내부 빌드용 버전 (앱의 버전)
  • Launch screen interface file base name : launch screen 파일 이름
  • Executable file : 번들의 실행 파일 이름
  • Application requires iPhone environment : 앱이 iOS에서 실행되어야 하는지 여부
  • Supported interface orientations (iPhone) : 앱이 지원하는 인터페이스
  • Application supports indirect input events : 앱이 일반적으로 간접 입력 메커니즘을 지원함을 나타내는 부울 값 (간접 입력 지원 장치를 지원함을 나타내는 부울값)
  • Bundle OS Type code : 번들 OS 종류 코드 ?
  • Development localization : 개발 언어의 현지화?
  • Supported interface orientations (iPad) : 앱이 지원하는 인터페이스 (아이패드용)
  • Bundle version string (short) : 번들의 배포 및 버전 번호
  • Application Scene Manifest : 앱의 scene 기반 라이프사이클 지원에 대한 정보
    - Enable Multiple Windows : 여러 Scene을 설정할 수 있는지 체크
    - Scene Configuration : 새 Scene을 만들 때 UIKit의 기본 설정값
    - Application Session Role
    1) Configuration Name: 설정 이름
    2) Delegate Class Name: 대신 코드 실행할 클래스의 이름
    3) Storyboard Name: 스토리보드 이름



privacy

  • Privacy - Access to a File Provider Domain Usage Description : 파일 접근 요청 이유
  • Privacy - AppleEvents Sending Usage Description : 이벤트 전송 기능 요청 이유
  • Privacy - Bluetooth Always Usage Description :블루투스 접근 요청 이유
  • Privacy - Calendars Usage Description : 캘린더 접근 요청 이유
  • Privacy - Camera Usage Description : 카메라 접근 요청 이유
  • Privacy - Contacts Usage Description : 연락처 접근 요청 이유
  • Privacy - Desktop Folder Usage Description : 바탕화면 폴더 접근 요청 이유
  • Privacy - Documents Folder Usage Description : 문서 폴더 접근 요청 이유
  • Privacy - Downloads Folder Usage Description : 다운로드 폴더 접근 요청 이유
  • Privacy - Driver Extension Usage Description : 드라이버 확장 번들 설치 이유
  • Privacy - Face ID Usage Description : Face ID 인증 기능 요청 이유
  • Privacy - Local Network Usage Description : 로컬 네트웨크 접근 요청 이유
  • Privacy - Location Always Usage Description : 항상 사용자의 위치 접근 요청 이유
  • Privacy - Media Library Usage Description : 미디어 라이브러리 접근 요청 이유
  • Privacy - Microphone Usage Description : 마이크 접근 요청 이유
  • Privacy - Motion Usage Description : 모션 데이터 접근 요청 이유
  • Privacy - NFC Scan Usage Description :NFC하드웨어 접근 요청 이유
  • Privacy - Photo Library Additions Usage Description : 사진 라이브러리에 대한 추가 접근만 요청하는 이유
  • Privacy - Photo Library Usage Description : 사진 라이브러리 접근 요청 이유
  • Privacy - Reminders Usage Description : 리마인더 접근 요청 이유
  • Privacy - Siri Usage Description: 사용자 데이터를 Siri로 보내도록 요청하는 이유
  • Privacy - Speech Recognition Usage Description : 사용자 데이터를 Apple 음성인식 서버로 전송 요청 이유
  • Privacy - System Extension Usage Description : 시스템 확장 번들 설치 이유
  • Privacy - Tracking Usage Description : 사용자 또는 장치 추적을 위해 데이터 사용 권한 요청 이유


📚 AppProject

Xcode Target

  • 하나의 Target은 하나의 Product (Xcode에서 Build를 실행하여 생성되는 Product)
  • 프로젝트는 하나 이상의 Target을 포함 가능
  • Target별로 빌드 설정 다르게 가능
  • 프로젝트는 프로젝트의 모든 Target에 대한 기본 build setting을 정의

(여기서 말하는 Product는 앱이 될 수도 있고, 프레임워크가 될 수도 있고, Unit Test번들일 수도있다)

[출처]
https://velog.io/@leeyoungwoozz/iOS-Project-Target-Scheme-%EB%93%B1%EB%93%B1


각 탭 바의 주제

  1. Gerneral : ID, 서명 및 배포 옵션과 같이 가장 일반적으로 수정된 대상 설정을 조정
  1. Singing & Capabilities : 앱에 승인, 앱 서비스를 활성화.
  1. Resource Tags : 필요한 자원들을 식별하고 관리. (Xcode는 태그 생성 및 편집, 태그의 일부인 리소스 추가 및 삭제, 태그와 관련된 리소스가 운영 체제에 의해 다운로드되는 시기 지정을 위한 도구를 제공)
  1. Info : Info.plist 값, 지원되는 문서타입, 로컬라이제이션 등을 포함하여 프로젝트나 타겟의 속성을 편집.
  1. Build Settings : 타겟에서 제품을 컴파일, 링크 및 생성하고 프로젝트 또는 시스템에서 상속된 설정을 식별하는 데 사용할 옵션 지정(Xcode가 소스 파일을 컴파일하는 방법, 실행 파일을 연결하는 방법, 디버그 정보를 생성하는지 여부, 코드를 패키징하고 배포하는 방법 등 빌드 프로세스의 모든 측면을 제어)
  • 프로젝트를 구축하는 동안 빌드 시스템의 동작에 영향을 미치는 옵션을 사용자 정의
  • 컴파일러나 링커에게 전달할 옵션들을 저장해놓은 목록
  • 빌드 설정은 유닉스 환경변수, Xcode 내장 변수, 프로젝트, 타깃 순으로 계층 구조를 이루어서 상위 계층의 값을 하위 계층에서 덮어쓰는 방식
  1. Build Phases : 프로젝트로 빌드하는 동안 빌드 시스템에서 수행한 작업을 편집하고 재정렬. 타깃의 제품을 빌드하기 위해 필요한 파일들을 단계별로 어떻게 처리할지 구성한 목록 (컴파일할 원본 파일, 실행할 스크립트 및 최종 제품에 포함할 리소스를 포함하여 빌드 중에 수행할 작업 지정)

Specify the tasks to perform during a build, including the source files to compile, the scripts to run, and the resources to include in the final product

  1. Build Rules : 빌드 프로세스 중에 특정 유형의 파일을 처리할 때 빌드 시스템이 사용하는 규칙을 사용자 지정. 컴파일 단계와 리소스 복사 단계에서 파일 종류별로 어떤 어떻게 처리할지 규칙을 결정한다.확장자 매칭 조건과 처리할 액션에 대한 지정을 할 수 있는데 기본적인 파일들에 대한 처리 규칙은 이미 자동적으로 생성된다.
    (Xcode에 프로젝트의 사용자 지정 파일 형식을 빌드하는 방법을 알려주고 각 파일에 대한 빌드 프로세스를 최적화하기 위한 종속성 정보를 제공)

[출처]
https://cau-meng2.tistory.com/109
https://dongminyoon.tistory.com/41

profile
Hello, World!

0개의 댓글