Nativer SwiftUI-MVP läuft (app/ios-native, 07.06.2026 nachts)
Status: Im Simulator gegen die Prod-API verifiziert (Login, Heute, Tagebuch) ·
Gerätetest auf Dennis' iPhone steht aus · Commit 79aa7bf (45 Dateien, 2.883 Zeilen,
ausschließlich app/ios-native/).
Was das ist
Der in der Native-iOS-Recherche
angedachte separate SwiftUI-MVP zum Gefühl-Bekommen — gebaut von einer
parallelen Claude-Session auf Dennis' Mac, gegen dieselbe Prod-API
https://silverscale.dennisfisch.de. Er ersetzt nichts: Die Capacitor-App
bleibt der Familienweg; der MVP koexistiert mit eigener Bundle-ID
(de.dennisfisch.silverscale.native).
Scope
Drin: Geräte-Code-Login (ADR-40, ss_session in HTTPCookieStorage,
Kaltstart-fest) · „Heute" (kcal-Ring mit Aktivitäts-Segment + Coral-Überzug,
MacroBars, Zuletzt gegessen mit Löschen/Undo, Familienkarten mit
Profilwechsel) · Tagebuch (Tagesnavigation, 4 Mahlzeiten-Slots, Edit-Sheet
via PATCH, Löschen/Undo über das deleted→/restore-Pattern, Aktivitäten
read-only) · FoodSheet (Debounce-Suche, Gramm-Picker mit Portions-Buttons,
Live-kcal) · Pull-to-Refresh + dayVersion-Bump + Foreground-Refresh.
Bewusst NICHT drin: Gerichte, Freitext/KI, Barcode, Vorrats-Abzug, Aktivitäts-Erfassung, App-Icon.
Architektur-Eckpunkte
- Swift 6 / SwiftUI / iOS 26, null Dependencies (kein SPM-Paket, kein
CocoaPods).
@Observable, Default-MainActor-Isolation, NavigationStack. - Projektformat objectVersion 77 mit ordnersynchronisierter Gruppe:
neue Swift-Dateien einfach nach
Silverscale/legen, pbxproj nie anfassen (Gegenentwurf zur manuellen 4-Einträge-Pflege in ios-shell). APIClientals actor: GETs 3×-Retry/15 s, Mutationen ohne Retry, 401 → Logout — Verhaltens-Parität zur Web-api.js.- Design-Tokens 1:1 aus
app/frontend/src/app.css(OKLCH→sRGB) inTheme.swift; Ring/MacroBars dem Web nachgebaut, Light + Dark.
Tooling-Antwort (die offene Frage der Recherche)
Mac als LLM-Build-Knoten funktioniert mit zwei MCP-Servern statt
Plugin-Zoo: XcodeBuildMCP (strukturierte Build-Fehler,
Simulator-Steuerung) + Apples xcrun mcpbridge (RenderPreview,
DocumentationSearch; einmalig Xcode → Settings → Intelligence → „Enable
MCP server"). Beide user-weit registriert. Agent-Regeln + Git-Spielregeln
(Push gegen den VPS mit updateInstead, nie force) in
app/ios-native/CLAUDE.md.
Nächste Schritte
- Dennis: Xcode-Projekt öffnen → iPhone wählen → ▶︎ (Anleitung im README; Dev-Account-Signatur hält 1 Jahr, kein 7-Tage-Refresh)
- Interaktive Flows am Gerät testen (Loggen, Edit, Undo — im Simulator nicht antippbar)
- Danach Grundsatz-Diskussion: bleibt der MVP Spielwiese oder wächst er? (Recherche-Empfehlung war „Hülle behalten + native Extensions" — der MVP liefert jetzt die Vergleichsbasis dafür.)
Quellen: app/ios-native/README.md + CLAUDE.md · Bezug:
Native-iOS-Recherche, ADR-40,
Dev-Account (DPLA-Recherche).