iOS

xcode ) Project editor 둘러보기

유사앱등이 2022. 5. 31. 03:46

 

project navigator - xcodeproj 파일 (프로젝트의 root file)을 선택하면 project editor로 연결됨

여기서 project 또는 target(빌드할 제품)에 대한 설정을 할 수 있다.

여러 개의 타겟이 있을 때 공통되는 사항들에 대한 설정을 project 에서 할 수 있고,

개별 설정을 각각의 타겟에서 할 수 있다.

 

 

먼저 프로젝트를 선택해보면 아래와 같이 세 개의 탭이 나타난다.

 

 

Info

 

1. Deployment Target

앱을 실행할 수 있는 최소 os버전을 선택한다.

어떤 기능들을 포함하는지, 사용자들이 사용하고 있는 os 버전의 점유율은 어떤지 등을 고려하여 선택하면 될 것이다.

 

2. Configurations

코드를 여러가지 상황에서 테스트해야 하는 경우 쓸 수 있는데,

기본적으로 Debug, Release가 만들어져 있고 새로 만들어서 쓸 수도 있다.

프로젝트를 실행(command+R 또는 실행버튼)했을 때 어떤 환경으로 실행할지 선택하면 된다.

 

3. Localizations

로컬라이즈할 때 사용한다.

 

 

Build Settings

 

여러가지 빌드 세팅을 할 수 있음

아키텍처나 컴파일러, 번들 이름 등등..

 

 

Package Dependencies

 

패키지를 추가할 수 있음

어떤 패키지의 어떤 버전을 어떤 프로젝트에 적용시킬지를 선택할 수 있다.

 


 

다음으로,

타겟을 선택하면 아래와 같이 7개의 탭으로 나누어져 있다.

 

 

 

General 

 

 

1. Identity

Display Name : 프로젝트 이름

Bundle Identifier : 번들 ID, App Store Connect에 입력한 번들ID와 일치해야함!

Version : version number - [Major].[Minor].[Patch]으로 구성됨 ex) 10.1.14

Build : build string - [Major].[Minor].[Patch]으로 구성됨 ex) 10.1.14

***

버전과 빌드의 차이?

가령, 앱스토어에 앱의 새로운 릴리즈를 제출할 때 보완해야할 점이 있다면 수정해서 다시 제출함

이런 과정에서 제출된 여러 빌드는 동일한 버전이지만, 각각 고유한 빌드번호를 가짐

 

2. Deployment Info 등등.. 

 

보이는 그대로 사용하면 됨

가령, Deployment info 에서

어떤 os부터 사용할지, 어떤 장치에서 사용할지, 어떤 화면을 어떤 방향으로 실행할지.. status bar는 보이게 할지 말지 등등

 

 

Signing & Capabilities

1. signing

서명 정보.. automatically manage signing 체크하면 xcode에서 자동으로 관리해줌

 

2. Capabilities

"+" 버튼을 눌러서 추가할 수 있음

Capability에 관한 내용은 아래에서 확인할 수 있다.

https://developer.apple.com/documentation/xcode/adding-capabilities-to-your-app

 

 

 

--

Recource Tags

 

태그를 만들고 편집하고, 태그의 일부인 리소스를 추가 및 삭제, 태그와 관련된 리소스가 os에서 다운로드되는 시기를 정할 수도 있음.

자세한 건 아래에서!

https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/On_Demand_Resources_Guide/Tagging.html

 

 

Info

information property list를 수정할 수 있음

Info.plist를 직접 수정해도 되고, project editor - info pane에서도 수정할 수 있음.

 

Build Settings

프로젝트에서와 마찬가지로 타겟에서도 빌드 세팅을 할 수 있음

 

Build Phases

1. Dependencies

동일한 프로젝트(동일한 작업 공간이 아닌) 또는 연결된 프로젝트에서 타겟 자체가 구축되기 전에 구축해야 하는 다른 대상을 지정한다.

예를 들어, 프로젝트의 다른 프레임워크에 의존하는 타겟은 일반적으로 해당 프레임워크에 대한 대상 종속성으로 구성되는데,

 Xcode는 암시적으로 일부 종속성을 추론하지만, 이곳에서 종속성과 빌드 순서에 대해 우선적으로 제어할 수 있음

 

2. Compile Sources

Swift, Objective-C, Lex 및 Yacc와 같은 컴파일 가능한 소스 파일을 타겟과 연관시키고 컴파일함

필요한 경우 각 소스 파일에 대해 컴파일러 플래그를 지정할 수 있다. 

 

3. Link Binary With Libraries

Apple 프레임워크와 같은 라이브러리를 타겟과 연관시킨다. 

이것들은 플랫폼 라이브러리, 다른 타겟에서 생성된 라이브러리 또는 외부 사전 구축된 XCFrameworks 및 라이브러리일 수 있다. 

라이브러리는 필수(Required) 또는 선택(Optional)을 선택할 수 있는데,

Optional을 선택할 경우 - 라이브러리가 없어도 앱이 계속 로드되도록 한다.

 

4. Copy Bundle Resources

리소스를 타겟과 연관시키고, 처리하고, 제품 내의 리소스 하위 폴더에 복사한다. 

 

5. Build Rules

Xcode에서 제공하는 기본 build rule을 적용시킬 수도 있고,

새로 추가할 수도 있음

 

 

 

참고

https://developer.apple.com/library/archive/featuredarticles/XcodeConcepts/Concept-Projects.html#//apple_ref/doc/uid/TP40009328-CH5-SW1

https://help.apple.com/xcode/mac/current/#/devb3575be3e