media-player-sdk-x-ios

Integrate VisioForge Media Player SDK X into native .NET for iOS apps.

Updated May 29, 2025
One-click install
npx skills add https://github.com/visioforge/help --skill media-player-sdk-x-ios
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: media-player-sdk-x-ios
Source: https://github.com/visioforge/help/tree/main/dotnet/agent-skills/media-player-sdk-x-ios
Command: npx skills add https://github.com/visioforge/help --skill media-player-sdk-x-ios

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Integrating VisioForge Media Player SDK X into a native .NET for iOS app can be error-prone due to iOS-specific setup like MTtouch interpreter settings, mandatory SDK boot, VideoView placement, Info.plist requirements, and common runtime failures.

Core Features & Use Cases

  • Native .NET for iOS integration (net10.0-ios): Set up the iOS-specific VideoView, reference the pinned wrapper and iOS redist NuGets, and wire the sample playback flow into your app.
  • Correct engine lifecycle and startup order: Call VisioForgeX.InitSDK() exactly once per process, ensure it runs after the window is key-and-visible, and dispose/stop the player properly.
  • Stream-ready playback with practical pitfalls: Use UniversalSourceSettings for URL probing, handle HTTP/ATS issues for network streams, support file picking via UIDocumentPickerViewController, and address common iOS failures like AOT/JIT ExecutionEngineException and black preview stalls.
  • License registration for purchased builds: Load a .vflicense resource and call SetLicenseCertificateAsync on every MediaPlayerCoreX instance before OpenAsync and PlayAsync.

Quick Start

Follow the bundled iOS template by adding the provided AppDelegate.cs, CustomViewController.cs, and Info.plist privacy key into a new net10.0-ios project, enable MtouchInterpreter=all on both Debug and Release, call VisioForgeX.InitSDK() after Window.MakeKeyAndVisible(), then start playback by probing the selected URL with UniversalSourceSettings.CreateAsync() and calling OpenAsync followed by PlayAsync.

Frequently Asked Questions about media-player-sdk-x-ios

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I integrate video playback into a native .NET for iOS application?

To integrate video playback in native .NET iOS, reference the pinned wrapper and redist NuGets, place a VideoView, and call VisioForgeX.InitSDK() once after the window is key-and-visible. Probe the URL with UniversalSourceSettings, then call OpenAsync and PlayAsync.

Why does my .NET iOS video player throw an ExecutionEngineException on startup?

An ExecutionEngineException during .NET iOS video playback indicates missing mtouch interpreter configuration. You must enable MtouchInterpreter=all in both Debug and Release to prevent AOT-only JIT exceptions when running the media player SDK.

How do I handle network video streaming and App Transport Security in .NET iOS?

Handle network video streaming in .NET iOS by probing URLs with UniversalSourceSettings and configuring App Transport Security (ATS) exceptions in Info.plist. This allows HTTP network streams to load without being blocked by default iOS privacy restrictions.

Do I need to call InitSDK every time I create a new video player instance in .NET iOS?

No, call VisioForgeX.InitSDK() exactly once per process after the window is key-and-visible. For new player instances, load the .vflicense resource and call SetLicenseCertificateAsync before OpenAsync, then dispose the player properly when stopping.

What causes a black preview screen when playing local files with the iOS document picker?

A black preview during local file playback often results from incorrect SDK boot ordering or missing UIDocumentPickerViewController usage strings in Info.plist. Ensure VisioForgeX.InitSDK runs after the window is visible and await UniversalSourceSettings.CreateAsync before OpenAsync.