Skip to content

App: Zerolatency Live Player (store/Enterprise: KsoftLivePlayer), bundle ID com.zerolatency.liveplayer.

Setup

bash
# 1. Enter the app directory
cd zerolatency-live-player-app

# 2. Install dependencies
flutter pub get

# 3. (First iOS build only) Install pods
cd ios && pod install && cd ..

Running

On a physical iPad (USB)

bash
# List connected devices
flutter devices

# Run on a specific device
flutter run -d <DEVICE_ID>

# Or on the only connected device
flutter run

On the iOS simulator

bash
# Run on the default simulator (iPhone)
flutter run -d simulator

# On a specific simulator (e.g. iPad)
open -a Simulator
# Then from the menu: File → Open Simulator → choose iPad
flutter run

On the web (quick debug)

bash
# Run on Chrome (limited functionality — no native VLC support)
flutter run -d chrome

Backend Configuration

The app connects to the zerolatency-live-player-api backend listening on port 3002.

If the backend is running on a different IP (e.g. VPN or remote server), edit the URL in lib/vlc_custom_test_screen.dart:

dart
// Replace with the backend IP/machine
final backendUrl = 'http://192.168.1.X:3002';

Test

bash
# Run all tests
flutter test

# Run only the VLC controller tests
flutter test test/vlc_controller_test.dart test/vlc_controller_state_test.dart

Production Build (iPad)

bash
# Build IPA for TestFlight / distribution
flutter build ipa

# Build APK for Android (tablet debug)
flutter build apk

Build with .env and --dart-define

The API_KEY and BACKEND_URL values are taken from .env automatically:

bash
# 1. Build unsigned .app
bash scripts/build-production.sh ios app

Signed IPA build (test on iPad)

After configuring the Apple account (see Mac Setup):

bash
cd zerolatency-live-player-app
BACKEND_URL=http://192.168.1.127:3002/api bash scripts/build-production.sh ios ipa

The generated IPA will be in build/ios/ipa/ — ready to upload to Diawi.

Xcode Archive + Distribute

For Enterprise/Ad Hoc/App Store distributions follow the Xcode Archive & Distribute guide.

App Store Notes

The app is designed as a LAN kiosk: it connects via HTTP to a private IP. For App Store submission you need the App Review Notes and the privacy policy (see Complete Guide — App Review Notes section).

© 2026 Zerolatency — All Rights Reserved