pageta-native/README.md
Till JS 2d71bf38c8 docs: iOS Device/Archive-Build ist grün — Blocker nur Simulator
Triage unter Xcode 26.3: macOS + iOS-Device/Archive bauen sauber, das
MLX-Macro wird fürs Host-Target gebaut. TestFlight ist nicht blockiert.
Nur der iOS-Simulator-Build bricht (arm64 Host/Sim-Arch-Kollision) —
betrifft nur den lokalen Dev-Loop, kein Dep-Pin nötig.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-29 15:59:12 +02:00

2.8 KiB

pageta-native

Native SwiftUI Universal-App (iOS + iPadOS + macOS) für Pageta, die Reader-App des Vereins mana e.V.

Bundle: ev.mana.pageta · Team: QP3GLU8PH3 · Backend: api.pageta.com · Auth: auth.mana.how.

Status

Feature-komplett (π-0..π-9 + π-11), TestFlight offen. Voll ausgebaute Universal-App: Feed, Lese-Liste, nativer Reader mit Highlights/Notizen, Markierungen-Tab, Recherche, Konto (inkl. In-App- Account-Löschung), ShareExtension + Widget. Local-first über Event-Sourcing (sync2.mana.how), Feed/Extract-Preview HTTP-only.

Build-Stand (2026-05-29, Xcode 26.3): macOS ✅, iOS Device/Archive ✅ — TestFlight nicht blockiert. Nur der iOS-Simulator-Build ist gebrochen (simulator-spezifische MLX-Macro-Arch-Kollision auf Apple Silicon → auf Device/„My Mac" entwickeln). Details in STATUS.md. Offen bleibt π-10 (ASC + TestFlight-Upload).

Vollständiger Plan + Phasen-Historie: STATUS.md · mana/docs/playbooks/PAGETA_NATIVE_GREENFIELD.md.

Lokal entwickeln

Voraussetzungen:

  • Xcode 16+
  • mana-swift-core + mana-swift-ui als Schwester-Repos ausgecheckt unter ../mana-swift-core und ../mana-swift-ui
  • Apple-Developer-Account mit Team QP3GLU8PH3-Mitgliedschaft
  • XcodeGen (brew install xcodegen)
./scripts/xcodegen             # → PagetaNative.xcodeproj (mit macOS-Share-Patch)
./scripts/build-icon.sh        # → AppIcon-PNGs (1024+512) aus SVG
open PagetaNative.xcodeproj
# Cmd+R im Simulator (iOS oder macOS)

Der scripts/xcodegen-Wrapper umgeht einen XcodeGen-Bug, durch den platformFilter: macOS fälschlich als maccatalyst in die pbxproj geschrieben wird. Ohne den Patch wird die macOS-Share-Extension nicht ins App-Bundle embeddet.

Icon-Regeneration ist nur nötig wenn sich das SVG in ../pageta/apps/web/static/icon-512.svg ändert. Das Script nimmt rsvg-convert (Homebrew librsvg) wenn vorhanden, sonst qlmanage (macOS built-in Fallback).

Apple-Dev-Portal-Pre-Conditions

Vor erstem TestFlight-Build registrieren:

  • Bundle-IDs:
    • ev.mana.pageta (Main App)
    • ev.mana.pageta.widget (kommt mit π-7)
    • ev.mana.pageta.share (kommt mit π-6)
  • App-Group group.ev.mana.pageta
  • Capabilities: Associated Domains, App Groups, Keychain Sharing

Cross-Repo-Doks