wtandClaude Opus 5.5 9acc3baa89
Build / Build (watchOS Simulator) (push) Canceled after 0s
Build / Build (watchOS Device) (push) Canceled after 0s
Add repository avatar
Watch with the Balance mark from the app icon; PNG for Gitea plus
editable SVG source. Kept outside BalanceWatch/ so it stays out of
the app bundle.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 16:49:19 +07:00
2026-10-30 12:24:11 +07:00
2026-10-30 12:24:11 +07:00
2026-10-30 12:24:11 +07:00
2026-10-30 16:49:19 +07:00
2026-10-30 12:24:11 +07:00
2026-10-30 12:29:10 +07:00
2026-10-30 12:24:11 +07:00

BalanceWatch

Самостоятельное (watch-only) приложение Balance для watchOS 10+, выделенное из монорепозитория Balance (Balance/BalanceWatch + общий код).

Стек: SwiftUI + SwiftData, синхронизация через self-hosted BalanceServer.

Структура

BalanceWatch/
├── BalanceWatch.xcodeproj/
└── BalanceWatch/
    ├── App/              # точка входа и экраны часов
    ├── Models/           # SwiftData-модели (копия из монорепы)
    ├── Shared/           # контейнер SwiftData, тема, ServerSync
    ├── Utilities/        # FinanceCalculations, форматирование валют
    ├── Views/Components/ # CategoryIconView
    └── Assets.xcassets   # иконка приложения

Проект использует папки, синхронизируемые с файловой системой (Xcode 16+): любой .swift-файл, положенный в BalanceWatch/, автоматически попадает в таргет — править project.pbxproj вручную не нужно.

Сборка

  1. Открыть BalanceWatch.xcodeproj в Xcode 16 или новее.
  2. Выбрать схему BalanceWatch и симулятор Apple Watch.
  3. В Signing & Capabilities при необходимости поменять Team и bundle id (com.tolamironcenko.Balance.watchkitapp).

Из командной строки:

xcodebuild -project BalanceWatch.xcodeproj -scheme BalanceWatch \
  -destination 'generic/platform=watchOS Simulator' build

CI

GitHub Actions (.github/workflows/build.yml) собирает проект на macos-15 с последним стабильным Xcode для двух назначений — watchOS Simulator и watchOS device (без подписи). Запускается на push в main/develop, на pull request и вручную (Run workflow). При падении лог xcodebuild прикладывается к запуску как артефакт.

Важно

Модели, FinanceCalculations.swift и ServerSync.swift — копии общего кода из монорепозитория. Протокол синхронизации и правила расчётов должны совпадать с остальными клиентами Balance: при изменении контракта на сервере переносите правки и сюда.

S
Description
Standalone Apple Watch app for personal finance tracking. SwiftUI + SwiftData, syncs with a self-hosted Balance server. watchOS 10+.
Readme
2.6 MiB
0 Stars 1 Watchers 0 Forks
2026-10-31 19:23:45 +00:00
Languages
Swift 99.3%
Shell 0.7%