v0.8.0 — Phase β-7 App-Store-Vorbereitung
Feature-komplett für TestFlight. App-Icon-Platzhalter, Siri-Shortcut, Share-Extension, Release-Checklist mit allen externen Apple-Schritten. - scripts/make-appicon.swift: CoreGraphics-basierter Generator für 1024×1024 forest-green PNG mit "C"-Letter und Karten-Stack-Schatten - Asset-Catalog auf Single-Size-AppIcon-Pattern umgestellt - StudyCardsIntent + CardsAppShortcuts (App Intents): Siri- Shortcut "Karten lernen mit Cards" / "Mit Cards lernen" - CardsShareExtension Target: ShareViewController (UIKit-Bootstrap + SwiftUI-Hosting), ShareEditorView mit Text-Edit - PendingShare + PendingShareStore shared in App-Group group.ev.mana.cards - DeckListView zeigt PendingShare-Banner; Tap navigiert zu PendingShareConsumeView mit Deck-Picker + Front/Back-Felder, Submit → POST /cards, danach store.remove - Info.plist: NSPhotoLibraryUsageDescription für Image-Occlusion- Picker, NSUserActivityTypes für Universal-Links - docs/RELEASE_CHECKLIST.md mit externen Schritten: Apple-Developer- Portal, App-IDs, App-Group, AASA, Xcode-Archive, TestFlight-Plan, App-Store-Connect-Felder, Compliance-Verifikation - UI-Test robuster (akzeptiert Login oder Decks/Entdecken als Launch-Erfolg, unabhängig vom Simulator-Keychain-State) - 35 Tests + 1 UI-Test grün, alle drei Targets bauen App-Store-Submission selbst ist externe Aktion und passiert nicht durch dieses Repo — Schritte in docs/RELEASE_CHECKLIST.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
55359c5333
commit
0b2ae167b7
16 changed files with 783 additions and 59 deletions
53
PLAN.md
53
PLAN.md
|
|
@ -1,9 +1,10 @@
|
|||
# Plan — cards-native (SwiftUI Universal)
|
||||
|
||||
**Stand: 2026-05-13 — Phasen β-0 bis β-6 abgeschlossen.**
|
||||
Alle 7 Card-Types + Marketplace + Native-Polish (Keyboard-Shortcuts,
|
||||
Daily-Reminder-Notifications, WidgetKit-Extension mit App-Group).
|
||||
35 Unit-Tests + 1 UI-Test grün, Widget-Build grün.
|
||||
**Stand: 2026-05-13 — Phasen β-0 bis β-7 abgeschlossen.**
|
||||
Feature-komplett für TestFlight. Alle 7 Card-Types + Marketplace
|
||||
+ Keyboard/Daily-Reminder/Widget + Siri-Shortcut + Share-Extension
|
||||
+ App-Icon-Platzhalter + Release-Checklist. 35 Unit-Tests + 1 UI-Test
|
||||
grün, alle drei Targets (Haupt-App + Widget + Share) bauen.
|
||||
|
||||
Pflicht-Check für β-2: Endurance-Test auf realem Gerät (200+ Karten
|
||||
mit Flugmodus zwischendurch) steht aus — Aufgabe für Till.
|
||||
|
|
@ -27,6 +28,28 @@ mit Flugmodus zwischendurch) steht aus — Aufgabe für Till.
|
|||
- `LoginView` (Email/PW gegen mana-auth)
|
||||
- 3 Unit-Tests (AppConfig)
|
||||
|
||||
✅ **β-7 — App-Store-Vorbereitung (2026-05-13, Tag `v0.8.0`)**
|
||||
- App-Icon-Platzhalter: `scripts/make-appicon.swift` generiert 1024×1024
|
||||
PNG aus CoreGraphics (forest-green + "C"-Letter). Asset-Catalog auf
|
||||
Single-Size-Pattern umgestellt. **Vor App-Store-Submit durch Designer-
|
||||
Icon ersetzen** (siehe `docs/RELEASE_CHECKLIST.md`).
|
||||
- `StudyCardsIntent` + `CardsAppShortcuts` (App Intents Framework):
|
||||
Siri-Shortcut "Karten lernen mit Cards" / "Mit Cards lernen", öffnet
|
||||
die App, App-Shortcut-Provider macht ihn ohne Konfiguration sichtbar.
|
||||
- `CardsShareExtension`-Target (app-extension): empfängt Text/URL aus
|
||||
Safari/Mail-Share-Sheets, SwiftUI-Mini-Editor, persistiert
|
||||
`PendingShare` in App-Group. Haupt-App zeigt Banner in DeckListView,
|
||||
Tap → `PendingShareConsumeView` mit Deck-Picker + Front/Back-Felder,
|
||||
Submit → `POST /cards`, danach `PendingShareStore.remove`.
|
||||
- `PendingShare` + `PendingShareStore` shared in beiden Targets.
|
||||
- `NSPhotoLibraryUsageDescription` + `NSUserActivityTypes` in Info.plist
|
||||
ergänzt für Image-Occlusion-Picker und Universal-Links.
|
||||
- `docs/RELEASE_CHECKLIST.md` — externe Schritte: Apple-Developer-
|
||||
Portal-Konfiguration, AASA-Endpoint, TestFlight-Test-Plan, App-Store-
|
||||
Connect-Felder, Compliance-Verifikation.
|
||||
- UI-Test robuster gegen Keychain-State (akzeptiert sowohl Login als
|
||||
auch Decks/Entdecken als gestartete App).
|
||||
|
||||
✅ **β-6 — Native-Polish (2026-05-13, Tag `v0.7.0`)**
|
||||
- Keyboard-Shortcuts in `StudySessionView`: Space = flip,
|
||||
1/2/3/4 = again/hard/good/easy (über hidden Buttons mit
|
||||
|
|
@ -169,18 +192,22 @@ ausgeliefert wird — heute 404. Web-seitige Aufgabe.
|
|||
| β-4 | ✅ 2026-05-13 | Media-Upload, image-occlusion (Touch-Mask-Editor), audio-front (AVAudioPlayer) |
|
||||
| β-5 | ✅ 2026-05-13 | Marketplace (Explore/Browse/Subscribe) + TabBar + Universal-Link-Handler (AASA server-side pending) |
|
||||
| β-6 | ✅ 2026-05-13 | Keyboard-Shortcuts + Daily-Reminders + WidgetKit (Siri/Share deferred auf β-7) |
|
||||
| β-7 | — | App-Store-Submission |
|
||||
| β-7 | ✅ 2026-05-13 | App-Icon-Platzhalter + Siri-Shortcut + Share-Extension + Release-Checklist (externe Apple-Schritte siehe docs/RELEASE_CHECKLIST.md) |
|
||||
|
||||
## Nächste Schritte für β-7 (App-Store-Vorbereitung)
|
||||
## Nächste Schritte: TestFlight + App-Store
|
||||
|
||||
Aus Greenfield-Plan-Sektion "Phase β-7":
|
||||
Alle remaining steps sind **externe Aktionen** außerhalb des Repos —
|
||||
Apple-Developer-Portal, App-Store-Connect, Xcode-Archive, das
|
||||
Cards-Web-Repo (AASA). Strukturierte Liste in
|
||||
[`docs/RELEASE_CHECKLIST.md`](docs/RELEASE_CHECKLIST.md):
|
||||
|
||||
1. App-Icon (drei Größen iOS, plus macOS-Idiom)
|
||||
2. Localized App-Store-Screenshots
|
||||
3. TestFlight-Build, eine Woche Beta-Test
|
||||
4. App-Store-Submission unter `ev.mana.cards`, Verein-Developer-Account
|
||||
5. (β-6-Carryover) Siri-Shortcuts via App Intents
|
||||
6. (β-6-Carryover) Share-Extension "Save as Card"
|
||||
1. Apple-Developer-Konfiguration (Team-ID, App-IDs, App-Group, Profiles)
|
||||
2. App-Icon-Platzhalter durch Designer-Icon ersetzen
|
||||
3. AASA-Endpoint auf `cardecky.mana.how` (Cards-Web-Repo)
|
||||
4. Xcode-Archive + TestFlight-Upload
|
||||
5. Endurance- und Cross-Device-Tests im TestFlight-Beta
|
||||
6. App-Store-Connect-Listing (Description, Screenshots, Privacy)
|
||||
7. Submission
|
||||
|
||||
## Notizen aus β-4
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue