Skip to content

Latest commit

 

History

History
63 lines (45 loc) · 1.92 KB

development.md

File metadata and controls

63 lines (45 loc) · 1.92 KB

RepoBell 개발

요구 사항

  • macOS 14 이상
  • Xcode 16 이상
  • GitHub CLI gh
  • GitHub 알림을 조회할 수 있는 활성 gh 로그인

빌드와 실행

저장소 루트에서 다음 스크립트를 실행합니다.

./script/build_and_run.sh

직접 빌드하려면 다음 명령을 사용합니다.

DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer \
  xcodebuild build \
  -project RepoBell.xcodeproj \
  -scheme RepoBell \
  -destination 'platform=macOS'

테스트

DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer \
  xcodebuild test \
  -project RepoBell.xcodeproj \
  -scheme RepoBell \
  -destination 'platform=macOS'

프로젝트 구조

  • App: SwiftUI scene과 AppKit delegate 연결
  • Views: 메뉴 막대 및 설정 UI
  • Models: GitHub 알림, 계정, 폴링 및 영속 상태
  • Stores: 앱 상태, 중복 판별 ledger, JSON 상태 저장
  • Services: gh 실행, GitHub API, URL 해석, 시스템 알림, 로그인 항목
  • Support: 사용자 설정 키와 GitHub URL 검증

배포

Release 구성은 Team B8PKV4NW7H의 Developer ID Application 인증서와 Hardened Runtime을 사용합니다. 릴리스 전에 RepoBellNotary라는 이름으로 notarytool 자격 증명을 로그인 Keychain에 저장해야 합니다.

서명된 Universal Archive와 공증 제출용 ZIP만 검증하려면 dry run을 실행합니다. 이 모드에서는 Apple 공증 서비스에 업로드하지 않습니다.

./script/release.sh --dry-run

공증, ticket staple, Gatekeeper 검증과 최종 ZIP 생성을 실행합니다. 실제 릴리스는 변경 사항이 없는 작업 트리에서만 진행됩니다.

./script/release.sh

성공하면 dist/RepoBell-<version>.zip과 Homebrew Cask에서 사용할 SHA-256 파일이 생성됩니다. 배포 ZIP은 공증 ticket을 앱에 staple한 뒤 새로 생성됩니다.