Files
singlechat/ios/README.md
Torsten Schulz (local) bfe28a25fa
All checks were successful
Deploy SingleChat / deploy (push) Successful in 40s
android app, extension of stats
2026-08-10 14:03:34 +02:00

43 lines
1.9 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# YPChat iOS
Native iOS-App (SwiftUI): **P0P3** wie zuvor; **P4** vollständige UI wie `YpChatRoot.kt`: Login, Tabs (Online, Suche, Posteingang, Verlauf, Konsole, Mehr), Chat mit Smileys/PhotosPicker, Feedback & Partner, **de/en** `Localizable.strings`.
Ausführlicher Gesamtplan: [docs/ios-app-umsetzungsplan.md](../docs/ios-app-umsetzungsplan.md).
## Voraussetzungen
- macOS mit **Xcode 15+**
- Apple-ID / Developer Team für Geräte-Builds (Simulator geht ohne kostenpflichtiges Programm)
## Projekt öffnen
```bash
open ios/YpChat.xcodeproj
```
Xcode lädt das Swift-Paket **socket.io-client-swift** (Produkt `SocketIO`) beim ersten Öffnen automatisch (**File → Packages → Resolve Package Versions** bei Problemen).
1. Target **YpChat****Signing & Capabilities**: **Team** wählen (sonst schlägt der Build auf dem Gerät fehl).
2. Scheme **YpChat**, Ziel **iPhone-Simulator** oder echtes Gerät.
3. **Run** (⌘R).
## BASE_URL
Wie unter Android (`ypchat.baseUrl` / Standard `https://www.ypchat.net`):
- `ios/Config/Debug.xcconfig` bzw. `Release.xcconfig`: Variable `BASE_URL`
- Wird per `$(BASE_URL)` in `YpChat/Resources/Info.plist` eingetragen und zur Laufzeit in `AppConfig.baseURL` gelesen.
## Aktueller Funktionsstand
- Start lädt automatisch **GET /api/session** (Pull-to-refresh ebenfalls).
- **Logout:** Socket trennen, **POST /api/logout**, Cookies leeren, Session erneut laden.
- **UI (P4):** `ContentView``YpChatRoot` (`UI/YpChatRoot.swift`, `YpChatMoreChatViews.swift`). Steuerung über `services.repository`. Lokalisierung: `Resources/de.lproj` + `en.lproj`.
- **Repository:** unverändert zentral; Timeout, Socket-`reduce`, REST wie Android.
Optional: Feinschliff (Dark Mode, größere Schrift), **P5** bereits durch Bild-Upload in der Chat-Ansicht abgedeckt.
## App-Icon
`AppIcon.appiconset` ist als Platzhalter ohne PNG angelegt. Für Archive/TestFlight in Xcode ein **1024×1024**-Icon hinterlegen oder Asset-Generator nutzen.