added readme
This commit is contained in:
@@ -0,0 +1,73 @@
|
|||||||
|
# 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
|
||||||
|
<key>192.168.X.X</key>
|
||||||
|
<dict>
|
||||||
|
<key>NSExceptionAllowsInsecureHTTPLoads</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
```
|
||||||
|
|
||||||
|
## 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).
|
||||||
Reference in New Issue
Block a user