-
Xcode 기능들과 AppProject 속성ios/Etc 2022. 5. 19. 15:38728x90
프로젝트를 만들기 위해서 Create a new Xcode project 혹은 File > New > Project.. 를 누르면 이런 화면이 나온다.
Project 만들기 프로젝트는 애플리케이션을 구성하는 데 필요한 파일 및 리소스를 제공해 주는 데 여러 OS와 템플릿 중 하나를 선택하여 프로젝트를 생성하여 애플리케이션을 제작한다.
프로젝트를 생성하면 기본 창이 나타난다.
Toolbar 영역
작업용 도구들이 모여 있는 영역이다. 앱의 빌드와 실행, 시뮬레이터 설정이 있으며 프로젝트의 상태와 결과를 나타내준다.
툴바(Toolbar)를 표시하려면 View > Show Toolbar를 선택하면 된다. 툴바 오른쪽에 있는 Show/hide areas을 사용하여 메인 창의 다른 영역을 표시하고 숨길 수 있다.
Library 버튼
이 버튼을 누르면 storyboard로 UI를 구성할 수 있는 Object library가 나온다.
View > Show Libary 클릭하면 보인다.
Navigator 바
내비게이터 영역(Navigator Area)을 사용하여 프로젝트의 다른 부분에 신속하게 접근할 수 있다.
우측에서 차례대로
1. 프로젝트 내비게이터
- 작업 중인 프로젝트의 파일 구성을 보여주는 내비게이터
2. 소스 컨트롤 내비게이터
- 소스 파일의 버전 관리를 위해 제공되는 내비게이터로, Xcode 9.0부터 새롭게 추가되었다.
3. 심볼 내비게이터
- 프로젝트에서 작성된 클래스나 구조체, 메소드 등의 심벌을 구조적으로 관리할 수 있는 내비게이터
4. 검색 내비게이터
- 프로젝트 내부의 내용을 검색할 때 사용하는 기능
5. 이슈 내비게이터
- Xcode의 잘못된 문법이나 기타 경고 및 오류에 대한 상세 정보들을 정리해서 보여주는 내비게이터
6. 테스트 내비게이터
- 프로젝트 테스트 목적으로 생성된 클래스 정보를 보여주는 내비게이터
7. 디버그 내비게이터
- Xcode에 연결된 상태로 디바이스 혹은 시뮬레이션이 실행되면 실행 내용에 관련된 각종 정보를 보여주는 영역
8. 브레이크 포인트 내비게이터
- 브레이크 포인트를 성정한 상태에서 브레이크 포인트가 걸려있는 목록을 확인하고 다음 액션을 관리할 수 있는 영역
9. 리포트 내비게이터
- 빌드 결과나 실행 결과 등 작업의 결과를 확인할 수 있는 내비게이터
Navigator 영역
프로젝트에 작성된 소스코드나 리소스 파일을 목록 형식으로 보여주고, 클래스나 구조체, 메소드와 같은 심벌(Symbol)을 탐색할 뿐만 아니라 프로젝트 내에서 사용된 텍스트를 검색하는 등 주로 필요한 항목을 탐색하는 역할을 담당한다.
내비게이터 바(Navigator bar)에 있는 버튼을 클릭하면 내비게이터 모음 아래에 해당하는 내용이 표시된다. 내비게이터 영역(Navigator Area)의 단축키는 Command + 0, 내비게이터 바(Navigator bar)의 단축키는 Command + 1 ~ 9까지 순서대로 이동 가능하다.
Filter bar
찾고자 하는 내용을 검색하는 바
Editor 영역
소스 코드, 사용자 인터페이스 및 기타 리소스를 편집 할 수 있는 영역으로 대부분의 핵심 작업이 이루어진다.
Debug 영역
프로젝트를 실행하거나 브레이크 포인트를 이용하여 코드를 디버깅할 때 주로 사용된다. Debug Bar, Variables view, Console 세가지 메인 컴포넌트가 있다.
Debug bar- 디버깅과 관련한 버튼들이 있다.
Variavles view - 코드의 현재 위치 범위에서 검사할 수 있는 변수들의 목록을 보여준다.
Console - 대화식 터미널과 유사한 텍스트 영역
cmd + shift + y 를 누르면 나온다.
Utility 영역
사용할 수 있는 리소스들과 객체의 정보들을 볼 수 있다.
인스펙터 영역은 다양한 객체들에 대한 속성을 관리하는 영역이다. 선택된 객체에 따라 보여주는 화면이 모두 달라진다. 이 영역은 모두 6개의 하위 탭으로 구성되어 있다.
1. 파일 인스펙터(File Inspector)
- 선택된 파일에 대한 정보를 보여주는 영역으로, 현재 선택된 파일이 스토리보드면 파일 정보와 더불어 빌드 대상 iOS버전, UI설계에 대한 자동 레이아웃 옵션 등을 설정할 수 있는 항목이 표시된다.
2. 히스토리 인스펙터(History Inspector)
- 현재 파일에 대한 전체 히스토리를 볼 수 있다. 커밋한 시간과 날짜, 내용 등을 알 수 있다.
3. 퀵 헬프 인스펙터(Quick Help Inspector)
- 선택된 객체에 대한 도움말을 제공한다.
4. 아이덴티티 인스펙터(Identity Inspector)
- 인터페이스 빌더에 추가된 객체와 이를 구현한 클래스 사이의 연결이나 객체의 ID 등, 객체의 고유한 정보를 관리하는 역할을 한다. 특히 스토리보드에 추가된 뷰 컨트롤러나 프로토타입 셀은 주로 소스 코드를 통해 상세 기능이 구현되는데, 이를 위해 클래스 파일을 작성한 후 이 탭의 속성을 이용하여 화면상의 객체와 연결할 수 있다.
5. 어트리뷰트 인스펙터(Attribut Inspector)
- 현재 인터페이스 빌더에서 선택된 객체의 속성을 관리한다.
6. 사이즈 인스펙터(Size Inspector)
- 선택된 객체의 외형에 대한 속성을 관리하는 탭이다. 주로 크기와 위치, 배치 방식을 다룬다.
7. 커넥션 인스펙터(Connection Inspector)
- 인터페이스 빌더와 소스 코드 간의 연결 관계를 관리한다. 스토리보드 파일을 통해 설계한 화면 인터페이스는 프로그래밍적으로 동작하기 위해 소스 코드와 연결되어야 하는데, 이 모든 연결 관계를 모두 관리하는 것이 커넥션 인스펙터 탭이다.
AppProject & Targets
프로젝트 내비게이터의 루트 파일을 선택하여 프로젝트 편집기를 열면
AppProject 혹은 Targets를 선택할 수 있는 팝업 메뉴가 나온다. 이 편집기를 사용하여 프로젝트 및 기타 설정을 보고 편집할 수 있고 상단의 탭을 사용해서 다양한 설정이 가능하다.
Project
Info
Info Deplyment Target
- iOS Deployment Target은 프로젝트에서 사용할 iOS의 최소 버전을 확인 후 설정하면 된다.
Configurations
- 기본적으로 Debug, Release를 지원하며 개발 버전, 릴리즈 버전, 무료버전, 유료버전, 베타 등 다양한 황경에서 테스트 할 때 사용
Localizations
- 로컬라이징 해주고 싶은 언어를 설정해주는 곳이다.
- 나라별로 언어를 설정하는 것을 로컬라이징이라고 한다.
Build Settings
Build Settings build setting은 target을 빌드하는데 필요한 정보들을 제공한다. Swift 코드 컴파일과 같은 빌드 프로세스 중에 수행되는 각 작업에 대해 build setting은 해당 작업이 수행되는 방식을 제어한다.
- 수백 가지의 구성 가능한 빌드 설정이 있다. (https://help.apple.com/xcode/mac/current/#/itcaec37c2a6)
- 빌드 설정에는 제품 아키텍처 및 SDK(Software Development Kit)를 기반으로 하는 기본값이 있다. 이러한 기본값은 프로젝트 수준 값과 대상 수준 값을 정의하여 재정의할 수 있다.
- 빌드 설정 값은 종종 리터럴 값이지만 다른 빌드 설정을 상호 참조할 수 있다.
Package Dependencies
Swift 코드의 배포를 관리하기 위한 도구이다. Swift 빌드 시스템과 통합되어 종속성을 다룬로드, 컴파일 및 연결하는 프로세스를 자동화한다.
Target
- Target은 iOS, watchOS 또는 macOS 앱과 같이 빌드할 제품을 지정한다.
- 템플릿에서 프로젝트를 생성하면 대상이 자동으로 추가된다.
- 프로젝트를 생성할 때 Unit 및 UI tests 를 선택하면 프로젝트에 기본 앱 및 테스트 앱에 대한 대상이 포함된다.
- iOS 앱에 종속된 watchOS 앱에는 iOS 앱, WatchKit 확장 및 WatchKit 앱에 대한 Target이 있다.
- macOS 앱에도 여러 Target이 있을 수 있습니다.
- 프로젝트 편집기에서 Target을 선택하여 Target 설정을 보고 수정한다.
- 프로젝트 편집기에서 추가 버튼(+)을 클릭하여 프로젝트에 새 애플리케이션, 프레임워크 및 라이브러리, 테스트 또는 애플리케이션 확장 대상을 추가한다.
Signing & Capabilities - 앱 코드 서명 및 iCloud, 푸시 알림 및 Game Center와 같은 앱 서비스 활성화를 위한 설정
Signing & Capabilities Resource Tags - 프로젝트에서 주문형 리소스 집합을 식별하고 관리하는 데 사용하는 사용자 정의 태그
Resource Tags Info - Info.plist대상 파일에 포함된 설정
Info Build Settings - 대상이 구축되는 방식을 정확히 지정하는 설정
Build Settings Build Phases - 소스 코드를 컴파일하고 제품에 리소스를 복사하는 것과 같이 빌드 시 수행할 작업을 설명하는 설정
Build Phases Build Rules - 특정 유형의 파일을 빌드하기 위한 사용자 정의 규칙을 정의하는 설정
Build Rules 참고
https://developer.apple.com/xcode/ide/
https://www.boostcourse.org/mo326/lecture/16841?isDesc=false
https://help.apple.com/xcode/mac/current/#/dev7d429ef73
https://nshipster.com/xcconfig/
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sqlpro&logNo=221045495843
https://www.sungdoo.dev/programming/know-your-xcode-build-setting
728x90'ios > Etc' 카테고리의 다른 글
AutoLayout (0) 2022.05.19 Stroyboard Components (0) 2022.05.19 Info.plist (0) 2022.05.18 @escaping (0) 2022.05.14 Concurrency & Threading (0) 2022.04.08