mikehouse / Apple-TV-Player

Apple TV m3u iptv player tvOS free open source
MIT License
118 stars 24 forks source link
apple hls iptv m3u m3u8 player streaming swift tvos vlc xcode

Apple TV player

Supported formats

State

Description

This app can play the playlists in m3u/m3u8 formats when able to parse.

Supported playlists

Over 8000 channels are available https://github.com/iptv-org/iptv (not mine, please star the project)

Localization

Built-in TV providers

ottclub.tv

How to Build

  1. Install dependencies
# Call once to configure bundler
bundle config set --local path 'vendor/bundle'
bundle install
# Call every time when want to install dependencies
bundle exec pod install
  1. Open Apple-TV-Player.xcworkspace using Xcode/AppCode

  2. Set your Development Team and BundleID for files:

or just change them via Xcode Signing & Capabilities tab for Apple-TV-Player and Channels projects.

  1. Select your Apple TV and hit Xcode build/run button.

How to pair Apple TV to Xcode

How to install if Xcode fails to connect to Apple TV (but paired)

It is often the error found Xcode will continue when Apple TV is connected and unlocked. That is freaking issue, it is better to not spend time to fix this, but just use another way to install the app to Apple TV by building IPA manually and installing it on TV directly.

# Call once to configure bundler
bundle config set --local path 'vendor/bundle'
bundle install
# Call every time when want to create IPA file
bundle exec fastlane make_ipa

If Apple Configurator app does not see your paired Apple TV

Update / Delete existed playlist (Home Screen only)

Long tap on TV Remote or press Play/Pause TV Remote button.

Set / Delete playlist pin code (Home Screen only)

Select a playlist and Long tap on TV Remote or press Play/Pause TV Remote button.



ottclub.tv

// Open file `IpTvProvider.swift`.
// Add there ottclub provider with your API_KEY.
// That is change function:

public static func builtInProviders() -> [IpTvProviderKind] {
    return []
}

// to this:

public static func builtInProviders() -> [IpTvProviderKind] {
    return [.ottclub(key: "API_KEY")]
}