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

70 lines
2.8 KiB
Markdown

# 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`](STATUS.md). Offen bleibt π-10 (ASC + TestFlight-Upload).
Vollständiger Plan + Phasen-Historie: [`STATUS.md`](STATUS.md) ·
[`mana/docs/playbooks/PAGETA_NATIVE_GREENFIELD.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`)
```bash
./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
- [`../mana/docs/playbooks/PAGETA_NATIVE_GREENFIELD.md`](../mana/docs/playbooks/PAGETA_NATIVE_GREENFIELD.md) — Plan + Phasen π-0…π-10
- [`../mana/docs/MANA_SWIFT.md`](../mana/docs/MANA_SWIFT.md) — Native-Koordination
- [`../mana-swift-core/CLAUDE.md`](../mana-swift-core/CLAUDE.md) — ManaCore + ManaTokens
- [`../mana-swift-ui/CLAUDE.md`](../mana-swift-ui/CLAUDE.md) — ManaAuthUI
- [`../pageta/CLAUDE.md`](../pageta/CLAUDE.md) — Web-App + API
- [`../pageta/STATUS.md`](../pageta/STATUS.md) — Web-Stand