Xcode를 시작하고 iOS 프로젝트를 생성하는 과정 및 각 Interface 영역에 대해 알아보자.
iOS 프로젝트 생성하기
아래는 iOS 프로젝트를 생성하는 방법이다.
- Xcode 실행 후 Create new project 클릭
- iOS 탭 클릭 후, App 선택
- 각 항목을 채워넣은다음, Next 버튼을 눌러 다음으로 이동
각 세부 항목들 설명
- Product Name : 프로젝트 이름
- Team : 애플 개발자로 생성된 인증서를 선택
- Organization Identifier : Bundle Identifier의 prefix > 이름 (Personal Team) 혹은 None
- Interface : UserInferface를 작성할 타입을 선택 > SwiftUI와 Storyboard방식
- Language : 코드를 작성할 언어를 선택> objective-C와 Swift 중 하나를 선택
- Storage : CoreData사용 여부를 선택> 기기 내부에 데이터를 저장하기 위한 용도
- Include Test : 유닛테스트를 비롯한 테스트 환경을 함께 추가할지 선택 > 프로젝트를 생성한 이후에도 따로 추가 가능
Xcode Interface 살펴보기
Xcode의 Interface 영역에 대해 알아보자.
네비게이터 간 이동은 'command + 숫자키' 로 원하는 영역으로 이동할 수 있다.
1) 좌측 네비게이터 영역
- 프로젝트 내비게이터 (Project Navigator)
- 프로젝트에 포함된 소스나 리소스, 프레임워크 파일들을 살펴보고 확인할 때 사용 프로젝트 내비게이터에서 어떤 파일을 선택하느냐에 따라서 화면 중앙의 에디터 영역과 우측의 인스펙터 영역은 각기 다른 화면이 나타남
- 소스 컨트롤 내비게이터 (Source Control Navigator)
- Git을 활용하여 Xcode에서 프로젝트의 소스를 관리할 때 사용 프로젝트의 현재 상태를 커밋하여 저장하고, 이전 커밋 기록을 탐색, 특정 커밋간의 변경사항을 비교하며, 이전 커밋으로 빠르게 복원하는 등 Git의 기능을 사용할 수 있음
- 북마크 내비게이터 (Bookmark Navigator)
- Xcode15에서 추가된 북마크 기능으로 생성한 북마크를 이곳에서 확인, 탐색할 때 사용. 그룹을 지어 정리할수도 있고, 설명을 작성하여 북마크를 관리할수도 있음
- 검색 내비게이터 (Find Navigator)
- 프로젝트나 워크스페이스 전체에서 입력한 값을 검색할 때 사용 찾기(Find)와 바꾸기(Replace) 기능을 선택할 수 있고, 정규표현식 같은 고급 검색 기능을 활용할 수 있음
- 이슈 내비게이터 (Issue Navigator)
- 프로젝트 빌드 중에 경고나 에러 같은 이슈들을 모아서 보여주는 화면 이슈를 파일별로 정렬하거나 종류별로 정렬할 수도 있음
- 테스트 내비게이터 (Test Navigator)
- 프로젝트에 유닛 테스트나 UI 테스트가 포함되어 있는 경우에 전체/개별 유닛테스트를 실행 할 때 사용
- 디버그 내비게이터 (Debug Navigator)
- 디버그 모드에서만 활성화 되고, 쓰레드별 또는 GCD(Grand Central Dispatch) 큐별로 동작 중인 스택 정보를 확인할 수 있음. CPU, 메모리, 디스크, 네트워크 사용율 변화에 대해서도 모니터링하는 기능을 제공
- 브레이크포인트 내비네이터 (Breakpoint Navigator)
- 코드별로 설정한 브레이크포인트 목록을 관리할 수 있음 Xcode에서는 북마크 대신 브레이크포인트를 활용하기 때문에 자주 사용하는 화면
- 로그 내비네이터 (Report Navigator)
- 빌드 결과나 실행 결과 등 콘솔에 찍히는 모든 출력 결과를 로그로 저장하는 화면
2) 우측 네비게이터 영역
- 파일 인스펙터 (File Inspector)
- 선택한 파일에 대한 기본적인 정보(파일명, 파일 경로 등)를 확인할 수 있다.
파일형식에 따라 빌드 타겟을 설정하거나, Text Indent(들여쓰기) 설정, Localization등의 설정을 변경할 수 있다.
- 선택한 파일에 대한 기본적인 정보(파일명, 파일 경로 등)를 확인할 수 있다.
- 히스토리 인스펙터 (History Inspector)
- Git을 활용하여 관리된 파일의 커밋기록(변경한 사람, 커밋 시간, 날짜, 변경내용 등)을 확인할 수 있다.
- 퀵헬프 인스펙터 (Quick Help Inspector)
- 선택한 파일 형식에 대한 도움말을 제공받을 수 있다.
- 아이덴티티 인스펙터 (Identity Inspector)
- 스토리보드에서 UI 요소를 선택한 경우 노출되는 인스펙터
선택한 UI요소별 고유 정보(id 등)를 관리하거나, class 파일을 연결할 수 있다.
- 스토리보드에서 UI 요소를 선택한 경우 노출되는 인스펙터
- 어트리뷰트 인스펙터 (Attributes Inspector)
- 스토리보드에서 UI 요소를 선택한 경우 노출되는 인스펙터
어떤 객체를 선택하는지에 따라 보여지는 속성이 크게 달라지며, 선택한 UI요소별 객체의 속성을 관리할 수 있다.
- 스토리보드에서 UI 요소를 선택한 경우 노출되는 인스펙터
- 사이즈 인스펙터 (Size Inspector)
- 스토리보드에서 UI 요소를 선택한 경우 노출되는 인스펙터
객체의 외형(크기, 배치 등)에 대한 속성을 관리 할 수 있다.
- 스토리보드에서 UI 요소를 선택한 경우 노출되는 인스펙터
- 커넥션 인스펙터 (Connections Inspector)
- 스토리보드에서 UI와 Code의 연결관계를 확인하고, 관리할 수 있는 인스펙터
노출되는 목록에서 좌측은 스토리보드상의 객체를 우측은 코드상의 객체를 나타낸다.
- 스토리보드에서 UI와 Code의 연결관계를 확인하고, 관리할 수 있는 인스펙터
'Devlog👩🏻💻 > iOS' 카테고리의 다른 글
[iOS] ScrollView 사용하기 (2) | 2024.04.22 |
---|---|
[iOS] CocoaPods 라이브러리 설치 후 사용하기(Alamofire, Kingfisher) (6) | 2024.04.12 |
[iOS] UIViewController LifeCycle (1) | 2024.03.20 |
[iOS] UIViewController, UIView 컴포넌트 이해하기 (2) | 2024.03.19 |
[iOS] 사용자 인터페이스와 로직 연결 - @IBOutlet와 @IBAction (3) | 2024.01.26 |