stremio/apps/ios/README.md
Jos Vooges | STH fac38d905e Enable iOS ClearKey DASH playback via local CENC decrypt proxy.
MobileVLCKit cannot decrypt ClearKey; the app now decrypts segments in-process and feeds plain DASH to VLC, removing the coming-soon DRM dead-end (0.5.1/13).
2026-09-19 06:37:11 +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.1+)
- `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:** lokale in-app proxy (`ClearKeyDashProxy`) haalt MPD/segmenten op, decrypt CENC/CBCS met de API-keys (zelfde hex kid/key + GUID-endianness als Android), en speelt plain DASH via MobileVLCKit. Xtream HLS/TS speelt direct zonder proxy.
- Events-tab verschijnt als `/me` → `events.enabled` true is.