- 크로스 플랫폼 Xcode 대체 도구로, SwiftPM 기반 프로젝트를 Linux, Windows(WSL), macOS 어디서든 빌드하고 디바이스에 .ipa로 배포 가능
- Xcode가 필요한 작업을 단순화하고 자동화함으로써 CI/CD 환경에서 유용(iOS 배포 자동화를 위해 8년동안 작업한 결과물임)
- iOS 앱 서명 및 설치, Apple Developer Services 연동 기능 제공
-
XKit
이라는 Swift 라이브러리로, 사용자 앱에서 Apple Developer Services 또는 iOS 디바이스와 직접 상호작용 가능
-
macOS 외 환경에서의 한계 및 향후 계획
- Interface Builder : 구현이 매우 복잡하고 SwiftUI가 대부분 대체하고 있음
- Asset Catalogs : 역공학이 필요하지만 도입할 가치가 있음. 현재는 이미지 파일을 raw 파일로 추가하는 방식으로 대체 가능
- Proprietary Macros
-
@Observable
같은 표준 매크로는 작동함
- SwiftData 등 Apple 독점 매크로는 역설계 후 재구성 필요
- WebAssembly 매크로 형태로 Apple이 배포하면 모든 플랫폼에서 활용 가능해짐 (Swift 포럼의 제안 참고)
- App Extensions
- 현재는 "Application" 타입 타겟만 빌드 가능
-
xtool.yml
명세에 확장하여 지원하는 방식으로 해결 가능
- LLDB 디버깅
- iOS 17 이전에는 간단했으나, Apple이
debugserver
호출 방식을 변경함
-
pymobiledevice3와 같은 도구를 이용해 연결 가능
- 새 RemoteXPC 프로토콜 통합은 향후 과제
- App Store Connect 배포
- 현재는 자체 디바이스에서의 실행만 지원
-
iTMSTransporter
는 크로스 플랫폼이며, ASC API 연동 인프라가 이미 준비되어 있어 구현 가능성 있음