TL;DR

  • SweetPad는 Xcode를 열지 않고 iOS·macOS 등의 앱을 빌드·실행·디버그·테스트하는 명령줄 도구임.
  • Xcode 프로젝트와 워크스페이스, Tuist, XcodeGen, Swift 패키지를 지원함.
  • sweetpad run은 빌드·설치·실행과 로그 스트리밍을 수행하며, 시뮬레이터나 기기를 이름으로 선택할 수 있음.
  • 간결한 빌드 출력, 테스트 재실행·불안정 테스트 재시도, 핫 리로드, lldb 디버깅 기능을 제공함.
  • 자동 완성, JSON 출력, 명령별 종료 코드, 코딩 에이전트용 지침을 제공하며 VS Code 확장에 의존하지 않음.

설치 및 사용

  • brew install sweetpad-dev/tap/sweetpad로 설치함.
  • 프로젝트 디렉터리에서 sweetpad run을 실행하면 빌드·설치·앱 실행과 로그 스트리밍을 수행함.
  • sweetpad run --on "iPhone 16 Pro"로 시뮬레이터나 기기를 지정하고, sweetpad test --on booted로 이미 부팅된 시뮬레이터에서 테스트함.
  • 첫 실행에서 스킴과 대상을 묻고 응답을 저장함. 실행 중 r을 누르면 다시 빌드하고 q를 누르면 종료함.

기능

  • 사용 편의성: 짧은 명령, 필수 플래그 대신 입력 프롬프트 사용, 모든 명령에 내장된 도움말임.
  • 짧은 빌드 출력: 작은 앱의 빌드 결과가 7줄이며, xcodebuild 출력은 350줄임.
  • 대상 선택: --on과 이름을 사용해 시뮬레이터, 연결된 기기, Mac을 선택함.
  • 테스트: 단일 테스트 실행, 실패 테스트 재실행, 불안정 테스트 재시도, 커버리지 및 JUnit 보고서 내보내기임.
  • 자동 완성: sweetpad bsp init으로 Neovim, Zed, Helix, Emacs용 SourceKit-LSP를 설정함.
  • 핫 리로드: sweetpad run --hot으로 저장된 Swift 변경 사항을 앱 재시작 없이 적용함.
  • 디버깅: 스크립트 기반 lldb 세션, 로그 줄 대기, 구조화된 크래시 보고서임.
  • 스크립트 및 지속적 통합(CI): 모든 명령에서 JSON 출력과 지정된 종료 코드를 제공함.
  • 에이전트 스킬: 코딩 에이전트가 CLI를 사용하도록 안내하는 지침임.

추가 정보

  • 문서: sweetpad.hyzyla.dev
  • VS Code 확장도 제공하지만, CLI는 해당 확장에 의존하지 않음.
  • 후원: GitHub Sponsors · Buy Me a Coffee
  • 라이선스: MIT