brunch

You can make anything
by writing

C.S.Lewis

by 윤민섭 Oct 14. 2020

Xcode

Xcode 앱을 설치하셨나요? 이전 글에서 잠깐 설명했지만 Xcode는 애플이 만든 개발 도구 앱입니다.


Apple이 새로운 iOS 버전을 출시할 땐 그에 맞는 개발 환경을 위해 Xcode도 업데이트합니다. 해당 이미지는 2020년 10월 14일 기준 최신 버전입니다.


Xcode에선 앱 하나하나를 프로젝트라고 합니다. 따라서 앱을 만들기 위해선 프로젝트를 만들어야 합니다.


'Create a new Xcode project'를 통해 프로젝트를 만들 수 있습니다.





Xcode는 iOS 앱만 개발할 수 있는 것이 아니라 Mac을 위한 앱, Apple Watch를 위한 앱, Apple TV를 위한 앱을 만들 수 있습니다. 

애플 티비 - 출처 나무위키

Mac은 MacBook, iMac 등을 위한 OS,

WatchOS는 Apple watch를 위한 OS,

tvOS는 Apple TV를 위한 OS입니다.


Apple TV는 흔히 알고 있는 TV는 아니고 영상 시청, TV 앱, 미러링(스마트폰 화면 공유) 등을 할 수 있는 장치입니다.


이 책에선 iOS 기본을 다루고 있기 때문에 iOS 탭에서 App을 선택 후 Next 버튼을 누르면 됩니다.




다음 보이는 화면에선 앱의 정보를 입력해야 합니다.


Product Name 

프로젝트의 이름을 설정합니다. 


Organization Identifier 

회사 식별자를 설정합니다. 어떤 것으로 설정해도 상관없습니다.


Team

어떤 팀을 사용하는지를 나타냅니다. 여기서 팀이 의미하는 것은 애플 개발자 사이트에 등록된 팀을 의미합니다. 당장 등록할 필요는 없지만 앱스토어에 앱을 등록할 땐 필요합니다. 팀은 1년 단위로 계약되며 개인 팀의 경우 $99, 회사의 경우 $299를 지불해야 합니다. 애플이 제공한 문서에 따르면 비영리 조직, 교육 및 정부 기관은 회비가 면제된다고 합니다.


Bundle Identifier 

Product Name과 Organization Identifier를 설정하면 자동으로 완성됩니다. 

예를 들어 Product Name이 'MyFirstApp'이고, Organization Identifier가 'com.app'이라면, 

Bundle Identifier은 'com.app.MyFirstApp'가 됩니다. 

Bundle Identifier는 앱을 구분 짓는 식별자가 됩니다. 따라서, 이미 등록된 Bundle Identifier는 사용할 수 없습니다.


Interface

Interface는 화면을 어떤 식으로 구현할 것인지를 선택합니다. Storyboard 방식, SwiftUI 방식을 선택할 수 있습니다. 두 방식은 차이가 있지만 이 책에선 Storyboard 방식으로 설명합니다.


Life Cycle

앱의 생명 주기 (앱이 실행되고 종료되기까지의 과정) 방식을 선택합니다. Storyboard Interface는 UIKit App Delegate 만 가능합니다.


Language

개발을 할 땐 개발 언어가 필요합니다. C++, Python, Java 등이 개발 언어입니다. iOS 앱을 만들기 위해선 Objective-C 혹은 Swift라는 언어가 사용됩니다. 예전에는 Objective-C를 사용했지만 지금은 대부분 Swift를 사용해 앱을 만들고 있습니다.


정보를 모두 입력하고 다음 화면으로 이동합니다. 이제 iOS 앱 개발을 위한 준비는 끝났습니다.



아무것도 건들지 않은 상태에서 왼쪽 위에 있는 재생 버튼을 눌러봅니다. 이 버튼을 누르면 Xcode는 현재 입력되어있는 코드를 읽고 앱으로 만들어줍니다.





핸드폰이 연결되어있지 않더라도 우리는 앱을 만들고 확인할 수 있습니다.

바로 Apple이 만들어놓은 Simulator 앱으로 말이죠.


재생 버튼을 눌렀을 때 Simulator에 MyFirstApp 이 만들어진 것을 확인할 수 있습니다.


Simulator는 카메라, 전화 등 하드웨어 기능을 제외하고 실제 핸드폰처럼 동작합니다. 또한, 대부분의 기기 (iPhone, iPad, iPod)를 종류별로 제공하고 

다양한 OS 환경 (iOS 13, 14...)에서 확인이 가능합니다.


실제 기기에 연결해서 테스트하는 것보다 Simulator에서 동작시키는 것이 조금 더 빠르게 앱으로 만들 수 있습니다. 번거롭지도 않고요.





그렇다면 다시 돌아와서 우리가 만든 앱을 확인해보겠습니다.


처음 프로젝트를 만들었을 때 그대로 실행하게 되면 이렇게 하얀 화면이 나오게 됩니다. 하얀색 배경을 변경하고 싶다면 어떻게 해야 할까요?


Xcode의 왼쪽 영역을 보면 많은 파일이 있습니다.

파일의 확장자가 .swift인 것도 있고 .storyboard인 것도 있고 .plist, .xcassets 도 있습니다.


여기서 배경색을 변경하려고 합니다. 배경색을 정한다는 것은 화면을 구현한다는 것입니다.

그렇다면 어떤 파일을 봐야 할까요? 프로젝트를 만들 때 Interface를 선택했던 것이 기억나시나요? 우리는 Storyboard 방식으로 Interface를 구현하겠다고 설정했습니다.


그렇습니다. 배경색을 변경하기 위해선 storyboard 파일을 확인해야 합니다.


Main.storyboard를 클릭해보겠습니다.




시뮬레이터 화면과 같아 보이는 화면이 눈에 띕니다. 여기서 ViewController, View 두 가지를 확인할 수 있습니다. 


1. ViewController는 View를 갖고 화면을 구성합니다. 

2. View는 최상단에 하나가 있고 View 하위에 다양한 View를 추가할 수 있습니다.


즉, 화면을 구성하는 것은 ViewController이지만 화면 자체는 View인 것이죠. 그렇다면 화면 색상을 변경하기 위해선 최상단에 있는 뷰를 클릭해봅니다.



오른쪽 영역의 5번째 버튼 (Attribute Inspector라고 합니다.)을 누르면 Background를 선택할 수 있습니다.

이 Background 속성이 바로 배경 색상을 선택할 수 있는 것입니다. 



이렇게 다양한 색상을 선택할 수 있고 Color Palette를 사용해 자신이 원하는 색상을 지정할 수도 있습니다.


여기서 파란색을 선택하면 파란색, 검은색을 선택하면 검은색으로 배경 색이 정해집니다. 






변경사항을 확인하기 위해선 왼쪽 위에 있는 재생 버튼을 눌러 앱을 재실행시켜야 합니다. 이제 배경색이 파란색으로 변경된 것을 확인할 수 있습니다.


이렇게 Xcode를 사용하여 앱을 만들고 배경색을 변경했습니다. Xcode만 있다면 복잡한 앱도 만들 수 있습니다.


다음 글에선 버튼 동작을 통해 배경 색상을 변경해보겠습니다.


고맙습니다.




브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari