[Xcode] 한 프로젝트에 다수의 swift 파일 선택하여 빌드하기 - 1

 

▼ 다음 글

 

[Xcode] 한 프로젝트에 다수의 swift 파일 선택하여 빌드하기 - 2

2021.06.03 - [etc] - [Xcode] 한 프로젝트에 다수의 swift 파일 선택하여 빌드하기 - 1 지난 번 글에서는 여러 개의 타겟을 생성하여 각각의 main파일을 빌드하는 방법을 설명했다. 이번에는 하나의 타겟으

gets-better.tistory.com

Xcode를 사용해 스위프트를 연습할 때 처음에는 playground로 연습했다. playground는 굉장히 유용하고 편리한 기능이지만 치명적인 단점이 있었다. 그건 바로 playgound는 sandbox이기 때문에 commandline input에 접근할 수 없다는 것.
알고리즘 공부를 하다 보면 필연적으로 특정 값을 입력받아야 하는데 playground에서는 불가능하다.

그렇다면 어떻게 해야하느냐?  

playgound가 아니라 Command Line Tool을 사용하면 된다. 단, 프로젝트에서는 단 하나의 main만 존재할 수 있다. 알고리즘 문제 풀이용으로 여러 개의 파일을 만들어서 각각 따로 빌드하려면 어떻게 해야 할까?
Command Line Tool을 이용하며 한 프로젝트에 다수의 swift 파일을 만들어 선택적으로 빌드하는 방법에는 두 가지가 있는데, 이번 글에서는 먼저 여러 개의 target을 생성하는 방법을 다뤄보겠다.

 


 

- Command Line Tool 프로젝트를 생성한다.

 

- 처음 프로젝트를 생성하면 프로젝트 이름과 동일한 폴더가 생성되고 그 안에 main.swift가 생성된다.
  Command + R 을 눌러 빌드를 하면 콘솔 창에 코드에 적힌 대로 Hello, World! 가 출력되는 걸 확인할 수 있다.

 

- 다른 스위프트 파일을 만들어 빌드하고 싶으면 프로젝트를 선택하고 좌측 하단의 + 버튼(Add a target)을 눌러 새로운 타겟을 생성한다.

 

- 처음과 동일하게 Command Line Tool을 선택한다.

 

- 새 타겟이 생성되고 main.swift가 두 개가 된 것을 확인할 수 있다.
(이름을 대충 적어서 네이밍 규칙이 엉망인데 무시해주세요. 😅)

 

- 새로 만든 타겟의 파일에 print 내용을 바꾸고 실행해봤다. 하지만 여전히 콘솔 창에는 이전 test의 main.swift에 적힌 내용이 출력되고 있다. 왜일까?

 

- 정답은 scheme을 바꾸지 않았기 때문이다. 좌측 상단에 있는 콘솔 아이콘을 클릭해 scheme을 새로 만든 타겟과 같은 이름의 scheme으로 변경한다.

 

- 다시 빌드해보면 바뀐 print문이 정상적으로 출력되는 걸 확인할 수 있다.

 

이런 식으로 타겟을 여러 개 생성하면 한 프로젝트 내에서 여러 개의 파일을 선택해 빌드할 수 있다.