Skip to content
Mika+Player

Support

Getting it working

Two things trip people up: the first launch, and pointing the app at a playlist. Both are below.

First launch on macOS

Mika+Player is signed ad-hoc rather than notarised, so macOS blocks the first launch. In the Finder and in the warning the app is called MikaPlusPlayer. Since macOS 15 Sequoia, Control-clicking the app and choosing Open no longer gets past that — the way through is System Settings:

  1. 01Open the DMG and drag MikaPlusPlayer to Applications.
  2. 02Check the download before you open it. In Terminal, type shasum -a 256 and a space, drag the DMG into the window and press Return. The result has to match the SHA-256 shown under the download button on the home page and in the changelog. A match means the file is exactly the one attached to the GitHub release.
  3. 03Open MikaPlusPlayer from the Applications folder once. macOS refuses and shows a warning — close it.
  4. 04Open System Settings → Privacy & Security, scroll to Security and click Open Anyway. The button is there for about an hour after the blocked attempt.
  5. 05Confirm with your login password. macOS keeps the exception — later launches are normal.

On macOS 14 Sonoma, Control-clicking MikaPlusPlayer in Applications and choosing Open works as well.

Adding a playlist

CH 01

Add a playlist

Pick Xtream and enter host, username and password — or switch to URL and paste an M3U link, or to Datei (file) and open a playlist from disk. Naming the playlist is optional.

CH 02

Find your channels

Search by name, narrow the list with the group chips your provider supplies, and star the channels you actually watch. Favourites collect in their own tab.

CH 03

Watch

Click a channel to play it. The ⊞ button next to any channel adds it to Multiview instead, where up to four streams run side by side.

No subscription to test with? Any public M3U list works — for example https://iptv-org.github.io/iptv/index.m3u.

Keyboard controls

Space
Play or pause
↑ ↓ + −
Volume, in 5% steps
M
Mute
F
Full screen
Esc
Leave full screen

Space, the volume keys and M confirm with a short on-screen indicator; F and Esc only switch full screen.

Questions

macOS says the app cannot be opened. What now?

The build is ad-hoc signed rather than notarised, so Gatekeeper stops the first launch. Try to open the app once, then go to System Settings → Privacy & Security and click Open Anyway; the button stays there for about an hour after the blocked attempt. Since macOS 15 Sequoia that is the only way — on macOS 14 Sonoma, Control-clicking the app and choosing Open works as well. macOS remembers the decision and every later launch works normally. The first-launch steps above also show how to check the download against its SHA-256 checksum.

Does Mika+Player come with channels?

No. It plays what you give it. You bring an Xtream Codes login from your provider, an M3U link, or a playlist file — the app ships with none of that and does not sell or resolve any subscriptions.

Which playlist formats does it read?

M3U and M3U8 files, from a URL or from disk, plus Xtream Codes logins. The parser reads tvg-id, tvg-logo and group-title, and handles channel names that contain commas inside quotes.

My Xtream panel returns an error. Why?

A lot of panels block get.php and HLS output, often with an HTTP 407. Mika+Player builds the channel list through player_api.php and defaults to MPEG-TS, which is what those panels usually allow. If your provider does serve HLS, switch the format to .m3u8 when you log in.

Can it play raw MPEG-TS streams?

Yes, through VLCKit. AVPlayer cannot open raw transport streams at all, so anything ending in .ts, .mpegts, .mts or .m2ts goes to the VLC engine automatically. Nothing to configure.

How large a playlist can it handle?

Lists of 17,000 channels work, but version 1.1 is slow with them. Importing or refreshing a list that size takes several minutes — about four and a half minutes on our test Mac — and deleting it up to about two minutes; the app does not respond while that runs. Once the list is in, search and the channel filter run as database queries, but opening the list and the first letter you type still pause the app briefly, for up to about a second.

Where does my data go?

To the servers your playlist names and to GitHub — not to us. The app fetches the channel list from your provider, plays each stream from the server the playlist points at, loads channel logos from wherever the playlist says, and asks GitHub about once a day for updates. Playlists, favourites and your provider credentials are stored unencrypted in a database file on your Mac, and deleting the app does not remove it. There is no account, no telemetry and no analytics. The privacy page lists every detail and how to remove everything.

Is there an iPhone or iPad version?

The codebase builds for iOS 17 and up, and the app is written for both platforms. There is no distributed iOS build yet — no App Store listing and no TestFlight. Until then you would have to build it yourself in Xcode.

How do updates arrive?

Through Sparkle. The Mac app asks GitHub for a newer version automatically, about once a day, without asking you first. If there is one, it shows the release notes and you choose whether to install it, skip that version or be reminded later. Only if you tick the option to download and install updates automatically in that window does it install future updates on its own. Each update is verified against an EdDSA signature before it is installed. To check by hand, open the app menu and choose “Nach Updates suchen …” — the app’s labels are in German.

Something else broken? Open an issue on GitHub with your macOS version and what the app did.