Native SwiftUI-Universal-App (iOS / iPadOS / macOS) für Zitare — Hybrid (WKWebView + Widget + ShareExt + native Submit) unter ev.mana.zitare.
Lift von Hybrid (WKWebView für Lesen/Erkunden) auf fully-native ist beschlossen. Diese Phase entfernt die WebShell-Infrastruktur; das volle native Read-Surface folgt in η-2..η-5 nach docs/NATIVE_LIFT_PLAN.md. - ManaWebShell-Dep raus aus project.yml - Sources/Core/WebShell/CookieBridge.swift gelöscht - RootView auf vier native Tabs (Lesen + Erkunden = Platzhalter, Submit + Konto unverändert nativ) - DocComments in DeepLinkRouter / AppConfig / Account / Settings von WebView-Verweisen befreit - CLAUDE.md Invarianten von Hybrid auf η umgestellt (13 Invarianten, pure SwiftUI + Offline-first + SafariView-Ausnahme für Legal) - PLAN.md auf η-0 + Phasenübersicht η-0..η-10 - AppConfigTests.test_keychainService_matchesSharedGroup auf ManaSharedKeychainGroup aktualisiert (war drift seit Cross-App-SSO) Verifikation: - xcodebuild iOS-Simulator iPhone 16e: BUILD SUCCEEDED - nm ZitareNative | grep WKWebView: 0 Referenzen - otool -L: kein WebKit-Framework-Link - 20/20 Tests grün Cross-Repo-Follow-up (η-1 Blocker): - zitare/apps/zitare/ muss index-full.json + 7 Stammdaten-JSONs liefern - zitare/apps/api/ Volltext-Search-Endpoint bestätigen/ergänzen Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| devlog | ||
| docs | ||
| scripts | ||
| ShareExtension | ||
| Sources | ||
| Tests | ||
| Widgets/ZitareWidget | ||
| .gitignore | ||
| .swiftformat | ||
| .swiftlint.yml | ||
| CLAUDE.md | ||
| PLAN.md | ||
| project.yml | ||
| README.md | ||
zitare-native
Native SwiftUI-Universal-App (iOS / iPadOS / macOS) für Zitare, den öffentlichen Zitat-Korpus des Vereins mana e.V.
Hybrid-Architektur. Lese-Surfaces laufen im
WKWebViewgegenzitare.com. Native-Code ist nur dort, wo Native einen Distributions-Hebel hat: Home-Screen-Widget, ShareExtension, Spotlight-Index und Submit-View. Anders als cards-native, memoro-native und manaspur-native (alle „pure SwiftUI") — die Begründung steht im Playbook.
Status
Phase ζ-0 — Setup. Repo-Skelett, project.yml, leerer Build.
Vollständiger 7-Phasen-Plan in
../mana/docs/playbooks/ZITARE_NATIVE_GREENFIELD.md.
Phasen-Tracking in PLAN.md.
Lokal entwickeln
brew install xcodegen swiftformat swiftlint
xcodegen generate
open ZitareNative.xcodeproj
Voraussetzung: ../mana-swift-core/ und ../mana-swift-ui/ als
Schwester-Verzeichnisse (Package-Dependencies via path:).
Bundle-IDs
| Target | Bundle |
|---|---|
| App | ev.mana.zitare |
| Widget Extension | ev.mana.zitare.widget |
| Share Extension | ev.mana.zitare.share |
| App Group | group.ev.mana.zitare |
Cross-Refs
- Playbook:
../mana/docs/playbooks/ZITARE_NATIVE_GREENFIELD.md - Web-App:
../zitare/CLAUDE.md - Plattform-SOT:
../mana/docs/MANA_SWIFT.md - Shared Code:
../mana-swift-core/,../mana-swift-ui/