info.plist / AppProject 속성

김지훈·2022년 7월 27일
0

Target

Target(원문 해석)

target 은 빌드할 product 를 정하는 것 뿐만아니라 product 빌드 과정에 어떤 파일을 포함시킬 지, 빌드 과정의 순서 등에 대한 지시사항 혹은 설정도 포함하고 있습니다.하나의 targert 은 하나의 product 를 의미합니다. target 은 빌드 시스템에서 해당 product 를 빌드하는데 필요한 소스파일과 이를 처리하는 지시사항 등과 같은 input 들에 대한 순서를 정합니다.

내가 이해한 Target

target은 빌드 과정을 설정할 수 있는 단위이고 target에 정의된 빌드 설정에 따라 결과물이 달라질 수 있다.
ex) dev target 에서는 debug class 를 포함시키고, production target 에서는 test class 를 포함시킴

Target의 특징

  • target은 프로젝트 빌드의 최종 결과물이라고 할 수 있다. (앱, 프레임워크 등)
  • 하나의 프로젝트는 한 개 이상의 target을 가질 수 있다.
  • target에는 프로젝트 빌드에 관한 설정과 빌드에 필요한 리소스들에 대한 내용을 담고 있다.

참고자료
https://velog.io/@songtaehwan/iOS-Target-in-Xcode

General

일반적으로 target에서 다음과 같은 설정이 가능하다.

  • Identify

    • Display Name, Bundle Identifier, Vesion, Build 설정
  • Deployment Info

    • iOS버전과 기기, 보여질 화면의 기본 설정

      • Main Interface
      • Device Orientation: 화면의 가로, 세로, 방향 등
      • Status Bar Style: 기기 상단의 상태바 스타일 (시간, 배터리 잔량 등의 표시)
  • App Icons and Launch Images: 앱 아이콘과 앱 실행시 로딩화면에 보여질 이미지
  • Supported Intents
  • Frameworks, Libraries, and Embedded Content
  • Development Assets: 한 가지 타입의 관련된 속성과 파일들의 집합

Signing & Capabilities

signing은 앱을 App Store를 통해 배포하기 위한 요구사항이다. signing은 파일의 무결성을 검증하고 서명자(개발자)를 확인하는 역할을 한다.앱스토어에서 설치한 앱 또는 테스트하기 위해 별도로 빌드한 앱은 signing을 해야 iOS기기에서 실행할 수 있다. 또한 signing은 반드시 Apple에서 발급한 인증서로 진행되어야한다.

참고자료
https://engineering.linecorp.com/ko/blog/ios-code-signing/

info

파일 유형 및 서비스 정보 추가
앱과 관련된 속성, 앱이 만들거나 열 수 있는 파일 유형 설정

  • Custom iOS Target Properties
    대부분의 사용자 지정 대상 속성은 Xcode 인터페이스의 다른 부분에서 수정된다.

    • Bundle name
      사용자가 볼 수 있는 번들의 짧은 형식의 이름

    • Bundle identifier
      번들의 고유 식별자

    • InfoDictionary version
      info.plist 구조의 현재 버전

    • Main Storyboard file base name
      앱의 스토리보드 리소스 파일 이름

    • Executable file
      번들의 실행 파일 이름

    • Application requires iPhone environment
      앱이 iOS에서 실행되어야 하는지 여부를 나타내는 Bool값

    • Supported interface orientations (iPhone)
      아이폰 앱에서 지원하는 인터페이스 방향

    • Application supports indirect input events
      앱이 일반적으로 간접 입력 메커니즘을 지원함을 나타내는 Bool값

    • Application Scene Manifest
      앱의 Scene 기반 Lifecycle지원에 대한 정보

    • Bundle OS Type Code
      4글자로 이루어진 번들 타입 - 앱: APPL / vmfpdladnjzm: FMWK / 번들: BNDL

    • Localization native development region
      언어 ID로서 번들의 디폴트 언어 및 지역 - 시스템은 사용자가 선호하는 언어에 대한 리소스를 찾을 수 없는 경우 이 키를 언어로 사용

    • Supported interface orientations (iPad)
      아이패드 앱에서 지원하는 인터페이스 방향

    • Bundle version string (short)
      번들의 릴리즈 또는 버전 번호 - 시스템 전체에서 번들 버전을 식별하는 데 사용

  • Document Types
    문서 유형 설정은 앱에서 만들고 편집할 수 있는 문서 유형을 지정하고 iOS 또는 Mac OS에서 해당 문서 유형에 대해 표시되는 사용자 정의 아이콘을 제공한다.

  • Exported Type Identifiers, Imported Type Identifiers
    앱에서 내보내거나 가져올 수있는 모든 파일 유형에 대해 내보내고 가져온 UTI를 추가. 일반적으로 앱에 고유 한 문서 유형과 달리 UTI는 일반 텍스트 또는 .png. 예를 들어 UTI는 앱간에 클립 보드에 복사 및 붙여 넣기를 지원

  • URL Types
    URL 유형 설정을 사용하면 사용자 지정 프로토콜을 사용하여 다른 앱과 데이터를 교환하기위한 사용자 지정 스키마를 지정 가능

참고자료
https://chobikim.tistory.com/22

info.plist

Information Propery List Files의 약자이며 Info.plist파일은 실행 패키지에 관한 필수 설정 정보가 포함된 구조화된 텍스트 파일이다. 앱의 기본 구조를 설정하기 위해 반드시 필요하다. 위의 target: info 탭에 설정할 수 있는 여러가지 조건이 있으며 추가적인 조건이 설정 가능하다.

참고자료
https://roniruny.tistory.com/122

scene

info.plist를 살펴보면 Application Scene Manifest를 설정할 수 있는데, 이는 앱의 Scene 기반 Lifecycle지원에 대한 정보를 담고 있다.

  • Enable Multiple Windows: 여러 Scene을 설정할 수 있는지 체크하는 속성
  • Scene Configuration: 새로운 Scene을 만들 때 UIKit의 기본 설정 값을 설정
    • Application Session Role: 2가지 역할 (Application / External Display)
      • Item 0
        • Delegate Class Name: 대신 코드 실행해줄 클래스 이름
        • Storyboard Name: 스토리보드 이름
        • Configuration Name: 설정 이름

Privacy

사용자의 개인정보를 사용해야할 경우나 보안적인 이유 측면에서 어떠한 기능을 사용하기 위해서는 해당 목적에 따라 Privacy를 info에 추가해야만 앱에서 해당 기능을 사용할 수 있다. 이를 제대로 설정하지 않을 경우 reject 사유가 된다.

0개의 댓글