|
|
||
|---|---|---|
| devlog | ||
| scripts | ||
| ShareExtension | ||
| ShareExtensionMac | ||
| Sources | ||
| Tests/UnitTests | ||
| Widgets/PagetaWidget | ||
| .gitignore | ||
| .swiftformat | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| COPYRIGHT | ||
| LICENSE | ||
| project.yml | ||
| README.md | ||
| STATUS.md | ||
pageta-native
Native SwiftUI Universal-App (iOS + iPadOS + macOS) für Pageta, die Reader-App des Vereins mana
Bundle: ev.mana.pageta · Team: QP3GLU8PH3 · Backend:
api.pageta.com · Auth: auth.mana.how.
- Lizenz: AGPL-3.0-or-later — siehe
COPYRIGHT - Web-App und Server: git.mana.how/offen/pageta
- Android: git.mana.how/offen/pageta-android
Bauen braucht die vier mana-Swift-Bibliotheken — offen unter
git.mana.how/offen, Apache-2.0 — so abgelegt,
wie project.yml sie erwartet (../../../libs/mana-swift-* relativ zu diesem
Ordner), dazu XcodeGen und für Geräte ein Apple-Developer-Konto:
mkdir -p libs && for r in mana-swift-core mana-swift-llm mana-swift-event-sync mana-swift-ui; do
git clone https://git.mana.how/offen/$r.git libs/$r
done
mkdir -p apps/pageta && git clone https://git.mana.how/offen/pageta-native.git apps/pageta/ios
Zur Laufzeit braucht die App die mana-Plattform (Anmeldung, Sync).
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-uials Schwester-Repos ausgecheckt unter../mana-swift-coreund../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
../mana/docs/playbooks/PAGETA_NATIVE_GREENFIELD.md— Plan + Phasen π-0…π-10../mana/docs/MANA_SWIFT.md— Native-Koordination../mana-swift-core/CLAUDE.md— ManaCore + ManaTokens../mana-swift-ui/CLAUDE.md— ManaAuthUI../pageta/CLAUDE.md— Web-App + API../pageta/STATUS.md— Web-Stand
Für Mitlesende
Dieses Repo gehört zum Ökosystem von mana und liegt offen, damit andere es lesen, einordnen und als Grundlage nutzen können — das spart Arbeit, egal ob ein Mensch oder ein Modell davorsitzt.
Was du erwarten darfst: den Code so, wie er tatsächlich in Gebrauch ist,
unter AGPL-3.0-or-later. Keine Attrappe, kein zurechtgeschnittener Auszug —
samt seiner Geschichte. Die Querverweise auf ../mana/… zeigen
auf das Plattform-Repo, das geschlossen bleibt.
Was du nicht erwarten darfst: Support, Antwortzeiten, Zusagen zur Abwärtskompatibilität oder die Übernahme von Änderungswünschen. Fehlermeldungen sind willkommen (am schnellsten über den Feedback-Knopf auf pageta.com), eine Antwort ist nicht zugesagt.
Fork ist ausdrücklich erlaubt und oft der schnellere Weg als zu warten. Wer die App verändert und als Dienst anbietet, legt seine Änderungen offen — das verlangt die AGPL (§13).