# Vikunja iOS Eine native iOS-App, die die [Vikunja](https://vikunja.io) Web-Oberfläche als WKWebView-Wrapper bereitstellt – für den schnellen Zugriff auf eine selbst gehostete Vikunja-Instanz im lokalen Netzwerk. ## Features - Vollbild-WebView der Vikunja-Instanz - Persistente Login-Session (Cookies & LocalStorage bleiben erhalten) - Native Swipe-Gesten für Vor/Zurück-Navigation - Unterstützung für HTTP im lokalen Netzwerk (App Transport Security konfiguriert) - Universelles App-Icon (Vikunja-Logo) ## Voraussetzungen - macOS mit [Xcode](https://developer.apple.com/xcode/) (≥ 16) - iOS-Gerät oder Simulator (iOS ≥ 17) - Laufende Vikunja-Instanz im lokalen Netzwerk - Apple-ID (kostenlos) zum Signieren ## Konfiguration Die URL der Vikunja-Instanz wird in `VikunjaApp/VikunjaApp/ContentView.swift` eingetragen: ```swift let vikunjaURL = URL(string: "http://192.168.X.X:PORT")! ``` Außerdem muss die IP in `VikunjaApp/VikunjaApp/Info.plist` unter `NSAppTransportSecurity → NSExceptionDomains` angepasst werden: ```xml 192.168.X.X NSExceptionAllowsInsecureHTTPLoads ``` ## Installation ### Auf eigenem Gerät (kostenlos) 1. Repository klonen und `VikunjaApp/VikunjaApp.xcodeproj` in Xcode öffnen 2. URL in `ContentView.swift` und `Info.plist` anpassen 3. Unter **Signing & Capabilities** die eigene Apple-ID als Team auswählen 4. iPhone per Kabel verbinden, als Build-Target auswählen 5. `⌘R` – App wird gebaut und installiert 6. Beim ersten Start: **Einstellungen → Allgemein → VPN & Geräteverwaltung → App vertrauen** > **Hinweis:** Mit einem kostenlosen Apple-Account läuft das Signierzertifikat nach 7 Tagen ab. Einfach erneut `⌘R` in Xcode ausführen, um neu zu signieren. ### Via TestFlight (kostenpflichtig) Erfordert einen [Apple Developer Account](https://developer.apple.com/programs/) ($99/Jahr): 1. Xcode → **Product → Archive** 2. Im Organizer: **Distribute App → TestFlight & App Store** ## Projektstruktur ``` VikunjaApp/ └── VikunjaApp/ ├── VikunjaApp.swift # App-Einstiegspunkt (@main) ├── ContentView.swift # Haupt-View, URL-Konfiguration ├── WebView.swift # WKWebView UIViewRepresentable-Wrapper ├── Info.plist # App Transport Security, Bundle-Keys └── Assets.xcassets/ └── AppIcon.appiconset/ # Vikunja-Logo als App-Icon ``` ## Lizenz Privates Projekt. Das Vikunja-Logo ist Eigentum des [Vikunja-Projekts](https://vikunja.io).