stremio/apps/ios/README.md
Jos Vooges | STH d1b627752c Fix iOS ClearKey live-list DASH proxy immediate stop (0.5.2).
Preserve BaseURL/Location, warm up MPD, clear sinf for VLC, and retry early stops so custom live DRM plays instead of Gestopt.
2026-09-19 06:53:13 +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.2+)
- `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` voor live-lijsten én events.
- Heartbeat: `POST /api/v1/client/watching/heartbeat` ~elke 25s bij custom live + events.
- **ClearKey/DASH:** lokale in-app proxy (`ClearKeyDashProxy`) haalt MPD/segmenten op (dynamic live: BaseURL/Location/query/Range), decrypt CENC/CBCS (`sinf`→`free`), en speelt plain DASH via MobileVLCKit. Xtream HLS/TS speelt direct zonder proxy.
- Events-tab verschijnt als `/me` → `events.enabled` true is.