Ein intelligenter Trink-Reminder, der dich daran erinnert etwas zu trinken.
Besuche die interaktive Dokumentations-Seite für eine saubere Leseansicht:
Dieses Projekt zeichnet sich durch einen hohen Qualitätsstandard aus. Die Entwicklung folgt dem V-Modell, um eine lückenlose Rückverfolgbarkeit von den Anforderungen bis zu den verifizierten Testfällen zu gewährleisten.
Die App folgt einer strikten Zustandslogik, um sicherzustellen, dass du dein Tagesziel erreichst:
stateDiagram-v2
[*] --> Idle
Idle --> OverlaySperre: Timer abgelaufen & Ziel offen
OverlaySperre --> Idle: Wasser geloggt
Idle --> ZielErreicht: Tagesziel erfüllt
.NSCalendarDayChanged Observer erkennt die App den Tageswechsel nun auch im aktiven Betrieb exakt um 00:00 Uhr.LabeledContent).RuleMark).Damit die App ordnungsgemäß funktioniert, müssen folgende Einstellungen in Xcode vorgenommen werden:
Signing & Capabilities), damit die App Fenster über das System-Level (.screenSaver) legen darf.Application is agent (UIElement) in der Info.plist auf YES, um das Dock-Icon auszublenden.Für die Synchronisation mit Apple Health:
WasserLog.| Bereich | Funktion |
|---|---|
| Optionen | Neu: Natives macOS-Layout für Intervalle, Sperrdauer, Glasgröße (ml) und Tagesziel (L). |
| Sperrbildschirm | Adaptive Darstellung: Klicke auf die Tropfen zum Loggen – die Icons skalieren automatisch bei hohen Zielen. |
| Statistik | Visualisiert die letzten 14 Tage. Balken wechseln die Farbe zu Grün, sobald dein individuelles Ziel erreicht ist. |
| Export | Speichert die Historie als lokalisierte ;-separierte CSV-Datei (Excel/Numbers kompatibel). |
HydrationFreezeApp.swift: Steuerzentrale der App, Timer-Logik und Menüleisten-Steuerung.OverlayManager.swift: Fenster-Management (NSPanel) und Multi-Monitor-Logik.OverlayView.swift: Herzstück der v1.4.2 – Berechnet das adaptive Icon-Scaling und die Ziel-Visualisierung.SettingsView.swift: Konfiguration im nativem Design, Swift Charts Statistik und QR-Sync.Dieses Projekt ist unter der MIT-Lizenz lizenziert. Details findest du in der LICENSE.md.