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 refuses the first launch and says the developer cannot be verified. To get past it:
- 01Open the DMG and drag Mika+Player to Applications.
- 02Open the Applications folder in Finder.
- 03Right-click Mika+Player and choose Open.
- 04Confirm in the dialog. macOS remembers the choice — later launches are normal.
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 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
- P
- Picture in Picture
- Esc
- Leave 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. Right-click the app in Applications, choose Open, then confirm. macOS remembers the decision and every later launch works normally.
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 past 17,000 channels stay responsive because searching and filtering happen in the database rather than in memory. Importing a list that size takes a few seconds; browsing it afterwards does not.
Where does my data go?
Nowhere. Playlists, credentials and favourites live in a local database on your Mac. The app talks to the provider you entered and, for updates, to GitHub. There is no account, no telemetry and no analytics.
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?
The Mac app checks for updates through Sparkle and can install them on its own. Each update is verified against an EdDSA signature first. You can also trigger a check from the app menu.
Something else broken? Open an issue on GitHub with your macOS version and what the app did.