Apple TV Support #492

Open
opened 2026-04-24 23:25:59 +02:00 by adam · 8 comments
Owner

Originally created by @mrburns-42 on GitHub (Mar 12, 2023).

Is your feature request related to a problem? Please describe.

In my family and circle of friends, music is often played through an app on the Apple TV, such as Plex or Apple Music. It is controlled entirely via the Apple TV, and often a soundbar, HomePods or a music system is connected to it in order to listen via this route. It would be great if this were also possible for audio books via ABS.

Describe the solution you'd like

It would be great if the ABS app were also available for the Apple TV, so that the podcasts and audiobooks could also be played comfortably via this device.

Originally created by @mrburns-42 on GitHub (Mar 12, 2023). ### Is your feature request related to a problem? Please describe. In my family and circle of friends, music is often played through an app on the Apple TV, such as Plex or Apple Music. It is controlled entirely via the Apple TV, and often a soundbar, HomePods or a music system is connected to it in order to listen via this route. It would be great if this were also possible for audio books via ABS. ### Describe the solution you'd like It would be great if the ABS app were also available for the Apple TV, so that the podcasts and audiobooks could also be played comfortably via this device.
adam added the enhancement label 2026-04-24 23:25:59 +02:00
Author
Owner

@benonymity commented on GitHub (Nov 12, 2023):

This would be awesome, though will probably not happen for a long time, as Apple TV doesn't support the webView technology that the mobile apps do, and so would need a ground-up rewrite in Swift. Basically, a whole new app. But there are ABS apps already written in Swift, like @rasmuslos' ShelfPlayer, so there is some hope!

@benonymity commented on GitHub (Nov 12, 2023): This would be awesome, though will probably not happen for a long time, as Apple TV doesn't support the webView technology that the mobile apps do, and so would need a ground-up rewrite in Swift. Basically, a whole new app. But there are ABS apps already written in Swift, like @rasmuslos' [ShelfPlayer](https://github.com/rasmuslos/ShelfPlayer), so there is some hope!
Author
Owner

@advplyr commented on GitHub (Nov 12, 2023):

I don't think this would require an entirely new app but I could be mistaken. It just requires a separate UI similar to android auto, car play, google chromecast, etc

@advplyr commented on GitHub (Nov 12, 2023): I don't think this would require an entirely new app but I could be mistaken. It just requires a separate UI similar to android auto, car play, google chromecast, etc
Author
Owner

@benonymity commented on GitHub (Nov 12, 2023):

Yeah, it could certainly be the same app you install from the App Store, but there would be no support for ordinary JS/webView, so the UI would have to be rewritten in SwiftUI and look different than on mobile. Though most of the native Swift for the audio player and such could probably do double duty. Yeah, same challenge as Carplay, widgets, shortcuts, etc.

@benonymity commented on GitHub (Nov 12, 2023): Yeah, it could certainly be the same app you install from the App Store, but there would be no support for ordinary JS/webView, so the UI would have to be rewritten in SwiftUI and look different than on mobile. Though most of the native Swift for the audio player and such could probably do double duty. Yeah, same challenge as Carplay, widgets, shortcuts, etc.
Author
Owner

@rasmuslos commented on GitHub (Nov 12, 2023):

It would not require a complete rewrite, most of the Shared code could be reused. The problem is, as far as I understand it, that the existing code is extremely dependent on the capacitor frontend for syncing and auth flow, ... because it is more or less just the audio player and some stuff to support it. It is definitely not impossible to expand this into a native tvOS app but would be very time-consuming as the existing native iOS code base is pretty small. But because you mentioned ShelfPlayer I have made a proof of concept and it does work but I don't think I am going to work on it soon.

@rasmuslos commented on GitHub (Nov 12, 2023): It would not require a complete rewrite, most of the `Shared` code could be reused. The problem is, as far as I understand it, that the existing code is extremely dependent on the capacitor frontend for syncing and auth flow, ... because it is more or less just the audio player and some stuff to support it. It is definitely not impossible to expand this into a native tvOS app but would be very time-consuming as the existing native iOS code base is pretty small. But because you mentioned ShelfPlayer I have made a [proof of concept](https://github.com/rasmuslos/ShelfPlayer/tree/multiplatform) and it does work but I don't think I am going to work on it soon.
Author
Owner

@rasmuslos commented on GitHub (Nov 12, 2023):

This is of course from when I worked on it, I have no idea how much it has evolved, maybe I am not doing it justice here

@rasmuslos commented on GitHub (Nov 12, 2023): This is of course from when I worked on it, I have no idea how much it has evolved, maybe I am not doing it justice here
Author
Owner

@benonymity commented on GitHub (Nov 12, 2023):

I don't think the Shared code has changed much (if at all) recently, so I think that's still true. Though I imagine TvOS has some differences in how audio is handled as well. Cool PoC! I imagine that you'd still get to TvOS with ShelfPlayer before this app does, especially since it seems like Carplay is a higher priority here.

@benonymity commented on GitHub (Nov 12, 2023): I don't think the Shared code has changed much (if at all) recently, so I think that's still true. Though I imagine TvOS has some differences in how audio is handled as well. Cool PoC! I imagine that you'd still get to TvOS with ShelfPlayer before this app does, especially since it seems like Carplay is a higher priority here.
Author
Owner

@advplyr commented on GitHub (Nov 13, 2023):

Syncing is done in the Swift code. Capacitor is only used for the UI

@advplyr commented on GitHub (Nov 13, 2023): Syncing is done in the Swift code. Capacitor is only used for the UI
Author
Owner

@michaeldvinci commented on GitHub (Nov 2, 2025):

I've been working on a tvOS client for the past few weeks and wanted to share progress. The app handles audiobook playback pretty well at this point - streaming works, progress syncs back to the server, and it resumes where you left off across sessions.

What's working:

  • Library browsing and item selection
  • Full audiobook playback with chapter navigation
  • Progress tracking and resume functionality
  • Playback controls (skip 15s, speed adjustment, sleep timer)
  • Mini player that persists across the app

Not implemented yet:

  • Chapter select (lol)
  • Ebooks (no reader view)
  • Podcasts
  • Playlists/collections
  • Detailed statistics

Still rough around the edges but functional enough for daily use.

Repo: https://github.com/michaeldvinci/swiftshelf-tvos
Test Flight: In Review as of 11/2/25 13:48


Test flight link: https://testflight.apple.com/join/hvv1CqfB

It's not terribly janky, so if there are any swift devs out there with some tips / want to make MRs, please feel free to drop them on the issues page!

@michaeldvinci commented on GitHub (Nov 2, 2025): I've been working on a tvOS client for the past few weeks and wanted to share progress. The app handles audiobook playback pretty well at this point - streaming works, progress syncs back to the server, and it resumes where you left off across sessions. What's working: * Library browsing and item selection * Full audiobook playback with chapter navigation * Progress tracking and resume functionality * Playback controls (skip 15s, speed adjustment, sleep timer) * Mini player that persists across the app Not implemented yet: * Chapter select (lol) * Ebooks (no reader view) * Podcasts * Playlists/collections * Detailed statistics Still rough around the edges but functional enough for daily use. Repo: https://github.com/michaeldvinci/swiftshelf-tvos Test Flight: In Review as of 11/2/25 13:48 ------ Test flight link: https://testflight.apple.com/join/hvv1CqfB It's not terribly janky, so if there are any swift devs out there with some tips / want to make MRs, please feel free to drop them on the issues page!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf-app#492