43 lines
1.9 KiB
Markdown
Executable File
43 lines
1.9 KiB
Markdown
Executable File
# YPChat iOS
|
||
|
||
Native iOS-App (SwiftUI): **P0–P3** 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.
|