Files
singlechat/ios
Torsten Schulz (local) 8d323ceab1 Refactor command handling in ChatRepository for Android and iOS
- Reset commandLines and commandKind to default values when a command table event is received, ensuring a clean state for subsequent commands.
- This change improves the handling of command events and maintains consistency across platforms.
2026-05-12 15:40:34 +02:00
..

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.

Voraussetzungen

  • macOS mit Xcode 15+
  • Apple-ID / Developer Team für Geräte-Builds (Simulator geht ohne kostenpflichtiges Programm)

Projekt öffnen

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 YpChatSigning & 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): ContentViewYpChatRoot (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.