Native SwiftUI-Universal-App (iOS / iPadOS / macOS) für Zitare — Hybrid (WKWebView + Widget + ShareExt + native Submit) unter ev.mana.zitare.
Find a file
Till 03e2f041e5 ζ-1 Polish: robuster Header-Selektor + zitare.mana.how als 2. UL-Domain
- WebShellScripts.hideWebHeader: drei Selektor-Strategien gestapelt
  (data-app-nav-Marker / strukturell via :has(a.brand) / positionell
  via :first-of-type), damit Klassen-Renames in zitare-web das Hide
  nicht still brechen
- project.yml entitlements: applinks:zitare.mana.how als zweite
  Universal-Link-Domain, solange zitare.com-DNS-Zone fehlt. Beide
  Hosts liefern dasselbe AASA-File. Nach Cloudflare-Cut kann der
  Eintrag bleiben — schadet nicht
- Live-E2E verifiziert: simctl openurl https://zitare.mana.how/q/...
  → App empfängt Deep-Link, WebShell lädt die Quote-Page, native
  TabBar bleibt, Web-Header bleibt versteckt

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 20:51:03 +02:00
ShareExtension ζ-0 Setup: Repo-Skelett, iOS-Build grün, Healthz live 2026-05-14 12:15:22 +02:00
Sources ζ-1 Polish: robuster Header-Selektor + zitare.mana.how als 2. UL-Domain 2026-05-14 20:51:03 +02:00
Tests ζ-2 native: SwiftData-Snapshot-Cache + DailyQuoteWidget 2026-05-14 13:16:05 +02:00
Widgets/ZitareWidget ζ-2 native: SwiftData-Snapshot-Cache + DailyQuoteWidget 2026-05-14 13:16:05 +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 ζ-1 Polish: robuster Header-Selektor + zitare.mana.how als 2. UL-Domain 2026-05-14 20:51:03 +02:00
project.yml ζ-1 Polish: robuster Header-Selektor + zitare.mana.how als 2. UL-Domain 2026-05-14 20:51:03 +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