target 은 빌드할 product 를 정하는 것 뿐만아니라 product 빌드 과정에 어떤 파일을 포함시킬 지, 빌드 과정의 순서 등에 대한 지시사항 혹은 설정도 포함하고 있습니다.하나의 targert 은 하나의 product 를 의미합니다. target 은 빌드 시스템에서 해당 product 를 빌드하는데 필요한 소스파일과 이를 처리하는 지시사항 등과 같은 input 들에 대한 순서를 정합니다.
target은 빌드 과정을 설정할 수 있는 단위이고 target에 정의된 빌드 설정에 따라 결과물이 달라질 수 있다.
ex) dev target 에서는 debug class 를 포함시키고, production target 에서는 test class 를 포함시킴
참고자료
https://velog.io/@songtaehwan/iOS-Target-in-Xcode
일반적으로 target에서 다음과 같은 설정이 가능하다.
Identify
Deployment Info
iOS버전과 기기, 보여질 화면의 기본 설정
signing은 앱을 App Store를 통해 배포하기 위한 요구사항이다. signing은 파일의 무결성을 검증하고 서명자(개발자)를 확인하는 역할을 한다.앱스토어에서 설치한 앱 또는 테스트하기 위해 별도로 빌드한 앱은 signing을 해야 iOS기기에서 실행할 수 있다. 또한 signing은 반드시 Apple에서 발급한 인증서로 진행되어야한다.
참고자료
https://engineering.linecorp.com/ko/blog/ios-code-signing/
파일 유형 및 서비스 정보 추가
앱과 관련된 속성, 앱이 만들거나 열 수 있는 파일 유형 설정
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
Information Propery List Files의 약자이며 Info.plist파일은 실행 패키지에 관한 필수 설정 정보가 포함된 구조화된 텍스트 파일이다. 앱의 기본 구조를 설정하기 위해 반드시 필요하다. 위의 target: info 탭에 설정할 수 있는 여러가지 조건이 있으며 추가적인 조건이 설정 가능하다.
참고자료
https://roniruny.tistory.com/122
info.plist를 살펴보면 Application Scene Manifest를 설정할 수 있는데, 이는 앱의 Scene 기반 Lifecycle지원에 대한 정보를 담고 있다.
사용자의 개인정보를 사용해야할 경우나 보안적인 이유 측면에서 어떠한 기능을 사용하기 위해서는 해당 목적에 따라 Privacy를 info에 추가해야만 앱에서 해당 기능을 사용할 수 있다. 이를 제대로 설정하지 않을 경우 reject 사유가 된다.