- xtool은 Linux, WSL, macOS에서 SwiftPM 기반 iOS 앱을 빌드·배포할 수 있게 하는 크로스플랫폼 Xcode 대체 도구임
- SwiftPM 패키지를 iOS 앱으로 빌드하고, 앱 서명과 설치까지 처리할 수 있음
- Apple Developer Services와 프로그래밍 방식으로 상호작용하는 기능을 제공함
- 명령줄에서는
setup, auth, sdk, new, dev, ds, devices, install, uninstall, launch 같은 하위 명령을 제공함
- 자체 앱에서 Apple Developer Services와 iOS 기기 등을 다루려면 SwiftPM 의존성으로 XKit 라이브러리를 추가해 사용할 수 있음
xtool의 목적
- xtool은 Xcode 기능을 공개 표준 기반으로 재현하는 크로스플랫폼 도구임
- 지원 환경은 Linux/WSL/macOS임
- SwiftPM 패키지를 iOS 앱으로 빌드하고 배포하는 흐름을 제공함
제공 기능
- SwiftPM 패키지를 iOS 앱으로 빌드할 수 있음
- iOS 앱을 서명하고 기기에 설치할 수 있음
- Apple Developer Services와 프로그래밍 방식으로 상호작용할 수 있음
시작 방법
- 설치 가이드는 환경별로 나뉨
- 첫 xtool 기반 앱은 tutorial을 따라 생성하고 실행할 수 있음
명령줄 인터페이스
xtool --help는 Cross-platform Xcode replacement 개요와 xtool <subcommand> 사용법을 표시함
- 구성 관련 하위 명령
setup: iOS 개발용 xtool 설정
auth: Apple Developer Services 인증 관리
sdk: Darwin Swift SDK 관리
- 개발 관련 하위 명령
new: 새 xtool SwiftPM 프로젝트 생성
dev: xtool SwiftPM 프로젝트 빌드 및 실행
ds: Apple Developer Services와 상호작용
- 기기 관련 하위 명령
devices: 기기 목록 표시
install: ipa 파일을 기기에 설치
uninstall: 설치된 앱 제거
launch: 설치된 앱 실행
XKit 라이브러리
- xtool에는 자체 앱에서 Apple Developer Services, iOS 기기 등과 상호작용할 수 있는 라이브러리가 포함됨
- SwiftPM에서
XKit을 의존성으로 추가해 사용할 수 있음
// package dependency:
.package(url: "https://github.com/xtool-org/xtool", .upToNextMinor(from: "1.2.0"))
// target dependency:
.product(name: "XKit", package: "xtool")