21P by xguru | ★ favorite | 댓글 1개
  • 크로스 플랫폼 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 연동 인프라가 이미 준비되어 있어 구현 가능성 있음
GeekNews Weekly에 포함된 글입니다. 에디터 코멘트 보기

댓글과 토론

애플, Swift Build 오픈 소스화 발표 이거랑은 상관없이 별도로 만든거네요.