stremio/apps/ios/README.md
Jos Vooges | STH fb8601c2b5 Harden repo for store review: ignore secrets and soften admin copy.
Keep credentials, HARs and probe dumps out of git; use neutral wording around sessions and stream licenses.
2026-09-22 22:17:25 +02:00

2 KiB

VMC iOS (SwiftUI + VLCKit 4)

Native iPhone/iPad app voor Vonas Media Cluster.

Op de Mac

cd ~/Code/mediacluster/apps/ios
open VMC.xcodeproj

Eerste keer (of na schone sync) VLCKit 4 zetten (PiP):

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):

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 / 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 VLCKit. Xtream HLS/TS speelt direct zonder proxy.
  • Events-tab verschijnt als /me → events.enabled true is.