ShelfPlayer is a meticulously crafted iOS and iPadOS app designed to seamlessly integrate with your Audiobookshelf library. Enjoy a captivating listening experience with its sleek interface, lightning-fast performance, and deep system integration.
-
Explore your Audiobooks, Podcasts, Episodes, Authors & Series: Use the beautiful UI to rediscover your favorite content
-
Sync listening statistics: ShelfPlayer will accurately update your Audiobookshelf listening stats
-
Download audiobooks & episodes and listen to them on the go: The app is designed to work as well offline as if you were at home
-
Sleep timer: Set a sleep timer to automatically stop playback, even at the end of the current chapter
-
Siri & Shortcuts integration: Use Siri to play your audiobooks or podcast episodes
-
Custom playback speed: Customize the playback speed
-
Automatic downloads & notifications: Download new episodes automatically in the background
-
Immersive Exploration: Effortlessly navigate through your audiobooks, podcasts, episodes, authors, and series with our beautifully designed interface.
-
Synchronized Listening: Accurately track your listening progress and seamlessly sync your statistics with Audiobookshelf.
-
Offline Enjoyment: Download your favorite audiobooks and episodes to indulge in uninterrupted listening, even without an internet connection.
-
Personalized Sleep: Wind down with our customizable sleep timer, which automatically pauses playback at your desired time, even at the end of a chapter.
-
Voice Control: Enjoy hands-free convenience with Siri integration and create custom shortcuts for effortless playback.
-
Tailored Listening: Adjust playback speed to match your preferred listening pace.
-
Automated Convenience: Automatically download new episodes and receive notifications to stay up-to-date with your favorite shows.
Library | Audiobook | Player | Podcast |
---|---|---|---|
Grab the latest Release and install it using your favorite tool like SideStore.
Warning
Pre-built versions of ShelfPlayer lack Siri support due to limitations with sideloading tools. These features require a paid developer account or can't be reliably implemented for sideloaded apps. See #20 & #4 for more information.
Stripping app extensions is highly recommended as they won't function correctly when sideloaded.
If you're comfortable with Xcode, you can build ShelfPlayer yourself:
- Install Xcode on your Mac.
- In the
Configuration
directory, copy theDebug.xcconfig.template
file and rename it toDebug.xcconfig
. - Edit
Debug.xcconfig
:- Change
DEVELOPMENT_TEAM
to your Apple developer team ID. - Set a unique
BUNDLE_ID_PREFIX
(e.g., me.yourname).
- Change
- If you don't have a paid developer account, remove the
ENABLE_ALL_FEATURES
compilation condition to avoid crashes. You can also remove theDEBUG
flag if you don't intend on further development. - Connect your iPhone to your Mac and enable developer mode.
- Select your iPhone as the run destination in Xcode.
- Run the application.
Note
The DEBUG
configuration is used by default for most builds. To create a release build for distribution (which isn't allowed under the license), you'll need to edit the Release.xcconfig
file.
ShelfPlayer is licensed under the Mozilla Public License Version 2. Additionally the "Common Clause" applies. This means that you can modify ShelfPlayer, as well as contribute to it, but you are not allowed to distribute the application in binary form. Compiling for your own personal use is not covered by the commons clause and therefore fine. Additionally, prebuilt binaries are available on GitHub for side loading using popular tools like SideStore, etc.
Contributions are welcome, just fork the repository, and open a pull request with your changes. If you want to contribute translations you have to edit Localizable.xcstrings
in the iOS
directory, as well as Localizable.xcstrings
located at ShelfPlayerKit/Sources/SPFoundation/Resources
using Xcode. If you want to add a new language add it in the project settings
- ShelfPlayer is not endorsed by nor associated with Audiobookshelf
- I generated some parts of this readme using Gemini, too