Written by
doremin
on
on
Xcode Command Line Tool 사용법
Xcode Command Line Tool 사용법
왜 알아야 해?
사실 Xcode에서 GUI를 이용하면 App Store Connect에 앱을 배포할 수 있다. CI/CD 파이프라인을 구축하기 위해서는 Fastlane이라는 훌륭한 도구가 이미 존재하기도 한다. 그럼에도 다음과 같은 이유로 CLI를 알아두면 도움이 될 것이다.
- iOS 프로젝트를 빌드, 테스트, 배포를 할 때 내부적으로 어떤식으로 동작하는지 알 수 있다.
- GUI가 없는 환경에서도 프로젝트를 빌드할 수 있다. 이런 환경에서 CLI를 통해 CI/CD 환경을 구축할 수 있다.
- Fastlane과 같은 도구를 더 잘 이해할 수 있다. 왜냐하면 Fastlane도 xcodebuild의 wrapper이기 때문에..
xcodebuild
Xcode project를 CLI로 빌드하기 위해서는 xcodebuild가 필요하다. 터미널에서 xcodebuild
를 실행하면 자신의 환경에 있는지 없는지 알 수 있다.
만약 없다면 Xcode가 설치되어 있다는 가정하에 다음 명령어를 입력하여 설치된 CLI를 사용하도록 설정할 수 있다.
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer/
Build
.xcodeproj
xcodebuild에서 사용하는 flag들은 다음과 같다. 이 외에도 많은 flag들이 존재하므로 더 자세한 설명은 터미널에서 man xcodebuild
를 사용해보자.
- project: build하고자 하는 Xcode project파일
예:
-project: Something.xcodeproj
- scheme: 사용하고자 하는 scheme
예:
-scheme: SomeScheme
- target: build target
예:
-target: SomeTarget
- alltargets: 모든 타겟을 빌드
예:
-alltargets
- configuration: build에 사용하고자 하는 설정 집합
예:
-configuration Debug
- arch: 빌드할 아키텍처를 지정
예:
-arch arm64
- destination: 실행할 대상
예:
-destination "platform=iOS Simulator,name=iPhone 15 Pro,OS=17.2"
example
아래 예시에서는 .xcodeproj 파일을 사용했지만 .xcworkspace도 사용할 수 있다.
-project
부분을 -workspace
로 바꾸어주면 된다.
xcodebuild build \
-project SampleProject.xcodeproj \
-scheme SampleProject \
-destination "platform=iOS Simulator,name=iPhone 15 Pro,OS=17.2"
Test
test라고 특별히 다른 것은 없고 xcodebuild build
에 있는 build
를 test
로 바꾸어주면 된다. 예: xcodebuild test
결론
앞으로 프로젝트를 진행하면서 xcodebuild를 직접적으로 사용할지는 확신할 수는 없다. 그러나 fastlane과 같은 tool들도 결국 xcodebuild를 wrapping한 것이기 때문에 어떤 도구를 사용하더라도 xcodebuild CLI를 알고있다면 쉽게 적응할 수 있을 것 같다.