stremio/apps/ios/README.md
Jos Vooges | STH 3e2549c33a Fix iOS Live TV streamId String decode and add Events + ClearKey path.
Restore channel list decoding for string/custom IDs, URL-encode play paths, parse DRM/heartbeat, and ship Events tab (0.5.0/12) with best-effort VLC ClearKey.
2026-09-19 03:59:51 +02:00

51 lines
1.6 KiB
Markdown

# VMC iOS (SwiftUI + MobileVLCKit)
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 zetten:
```bash
bash scripts/fetch-vlckit.sh # download ~250MB (eenmalig)
bash scripts/link-vlckit.sh # kopieert naar Vendor/ + linkt in Xcode
```
In Xcode:
1. **Signing & Capabilities** → jouw Team
2. iPhone selecteren → ▶ Run
---
## 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** (zelfde VLC-engine als iPhone) — MKV werkt
- Details: `VMCTV/README.md`
## Let op
`Vendor/MobileVLCKit.xcframework` en `Vendor/TVVLCKit.xcframework` staan niet in git (te groot). Altijd op de Mac via de scripts installeren.
## Live TV / Events / ClearKey (0.5.x)
- `streamId` is een **String** (`"123"` of `"custom:uuid"`); path-segmenten worden URL-geëncodeerd (inclusief `:`).
- Play-response parseert `format`, `drm` (ClearKey kids/keys) en `watchSessionId`.
- Heartbeat: `POST /api/v1/client/watching/heartbeat` ~elke 25s bij custom live + events.
- **ClearKey/DASH:** best-effort via VLC media options (`:demux=dash`, `:cenc-key=…`). MobileVLCKit heeft geen officiële ClearKey-API zoals ExoPlayer; Xtream HLS/TS speelt normaal. Als decryptie faalt toont de app: *“Deze stream vereist DRM-ondersteuning die binnenkort komt”*.
- Events-tab verschijnt als `/me` → `events.enabled` true is.