Native SwiftUI-Universal-App (iOS / iPadOS / macOS) für Zitare — Hybrid (WKWebView + Widget + ShareExt + native Submit) unter ev.mana.zitare.
Find a file
Till 75b5e7113f ζ-1: WebShellView + Universal-Link-Routing
- WebShellView (UIViewRepresentable + NSViewRepresentable) wrapt
  WKWebView, KVO-Observation für Loading/Progress/canGoBack/URL,
  Pull-to-Refresh via UIRefreshControl
- WebShellCoordinator (MainActor) hält WKNavigationDelegate +
  WKUIDelegate, externe Links via openURL aus dem Environment in
  System-Browser, Host-Whitelist auf zitare.com + .mana.how
- RootView refactored: Lesen-Tab lädt webBaseURL/, Erkunden-Tab
  /explore. Universal-Links zitare.com/q|a|c/<slug>, /search,
  /region/*, /thema/* etc. routen in den passenden Tab,
  reloadToken zwingt Re-Navigation auch bei selber URL
- AppConfig.webBaseURL = appBaseURL (zitare.mana.how) bis
  Cloudflare-Zone für zitare.com live ist; publicWebURL als
  Konstante schon eingetragen
- CookieBridge-Skeleton für mana.access auf .mana.how —
  scharfgeschaltet erst in ζ-3 nach Live-Auth-Smoke
- iPhone 16e Simulator: zitare.mana.how lädt, Carl-Spitteler-Quote
  rendert, Healthz weiter 200
- 16 Files swiftlint-grün, alle Tests grün

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 12:56:05 +02:00
ShareExtension ζ-0 Setup: Repo-Skelett, iOS-Build grün, Healthz live 2026-05-14 12:15:22 +02:00
Sources ζ-1: WebShellView + Universal-Link-Routing 2026-05-14 12:56:05 +02:00
Tests ζ-0 Setup: Repo-Skelett, iOS-Build grün, Healthz live 2026-05-14 12:15:22 +02:00
Widgets/ZitareWidget ζ-0 Setup: Repo-Skelett, iOS-Build grün, Healthz live 2026-05-14 12:15:22 +02:00
.gitignore ζ-0 Setup: Repo-Skelett, iOS-Build grün, Healthz live 2026-05-14 12:15:22 +02:00
.swiftformat ζ-0 Setup: Repo-Skelett, iOS-Build grün, Healthz live 2026-05-14 12:15:22 +02:00
.swiftlint.yml ζ-0 Setup: Repo-Skelett, iOS-Build grün, Healthz live 2026-05-14 12:15:22 +02:00
CLAUDE.md ζ-0 Setup: Repo-Skelett, iOS-Build grün, Healthz live 2026-05-14 12:15:22 +02:00
PLAN.md ζ-0 Setup: Repo-Skelett, iOS-Build grün, Healthz live 2026-05-14 12:15:22 +02:00
project.yml ζ-0 Setup: Repo-Skelett, iOS-Build grün, Healthz live 2026-05-14 12:15:22 +02:00
README.md ζ-0 Setup: Repo-Skelett, iOS-Build grün, Healthz live 2026-05-14 12:15:22 +02:00

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 WKWebView gegen zitare.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