stremio/apps/ios/README.md

59 lines
1.8 KiB
Markdown

# VMC iOS (SwiftUI + VLCKit 4)
Native iPhone/iPad app voor Vonas Media Cluster.
## Op de Mac
```bash
cd ~/Code/mediacluster/apps/ios
open VMC.xcodeproj
```
Eerste keer (of na schone sync) **VLCKit 4** zetten (PiP):
```bash
bash scripts/fetch-vlckit.sh # download ~500MB VLCKit 4.0.0a19
bash scripts/link-vlckit.sh # → Vendor/VLCKit.xcframework
```
> **Let op:** MobileVLCKit 3.x heeft **geen** Apple Picture in Picture. VMC iOS 0.5.3+ vereist VLCKit 4.
In Xcode:
1. **Signing & Capabilities** → Team + Background Modes → *Audio, AirPlay, and Picture in Picture*
2. iPhone selecteren → ▶ Run
## Picture in Picture
- Systeem-PiP via VLCKit (`VLCPictureInPictureDrawable`)
- PiP-knop in de speler + automatisch bij app naar achtergrond tijdens afspelen
- Encrypted DASH via lokale stream-proxy → VLC
---
## Apple TV (tvOS)
Apart project (zelfde API, TV-UI met focus/remote):
```bash
cd ~/Code/mediacluster/apps/ios
bash scripts/fetch-tvvlckit.sh
bash scripts/link-tvvlckit.sh
open VMCTV.xcodeproj
```
- Bundle ID: `nl.vonas.mediacluster.tvos`
- Team: `X25NYX3K49`
- Playback: **TVVLCKit** (VLC 3.x engine) — PiP is iPhone/iPad-only
- Details: `VMCTV/README.md`
## Let op
`Vendor/VLCKit.xcframework` en `Vendor/TVVLCKit.xcframework` staan niet in git (te groot). Altijd op de Mac via de scripts installeren.
## Live TV / Events / streams (0.5.2+)
- `streamId` is een **String** (`"123"` of `"custom:uuid"`); path-segmenten worden URL-geëncodeerd (inclusief `:`).
- Play-response parseert `format`, optionele `drm`-payload en `watchSessionId` voor live-lijsten én events.
- Heartbeat: `POST /api/v1/client/watching/heartbeat` ~elke 25s bij custom live + events.
- Encrypted DASH: lokale in-app proxy voor ondersteunde providers; Xtream HLS/TS speelt direct.
- Events-tab verschijnt als `/me` → `events.enabled` true is.