IPARR

Apps / DanielTheManiel's Repo

ByeTunes

EduAlexxis, from DanielTheManiel's Repo

The first app of its kind: seamless, on-device music and ringtone injection for iOS. Bypass iTunes and manage your native library directly. Auto-fetch metadata,

Version
2.5
Released
Aug 31, 2026
Size
16.0 MB
Bundle ID
com.EduAlexxis.MusicManager

What's new in 2.5

Hi guys, here's the 2.5 update for ByeTunes. This one adds full Deezer support and real parallel downloads for way faster queues, plus a brand new Smart Playlists feature with custom cover art. On top of that, a bunch of reliability fixes across downloads, backups, and repair tools — including a crash fix for the download queue.
Quick recommendation: for the best speed and match accuracy while searching, set Deezer as your Search Provider. And to keep full Apple Music compatibility (animated artwork, richer info), keep Apple Music as your Metadata Source.
Deezer — full provider support

Deezer is now a full first-class search source alongside Apple Music/iTunes, with its own tab ("Search or paste a Deezer link")
Paste a Deezer track/album/artist/playlist link and it resolves directly — same one-tap flow Apple Music/Spotify links already had
Deezer artist pages now show real top tracks + full discography (up to 100 each), not just a flat track list
Deezer search results paginate ("load more"), merged into the same song/album results as other providers
"Find on Deezer" added alongside "Find on Spotify" as an in-app browser shortcut for failed downloads

Download Engine — real concurrency & speed

Downloads used to run one at a time through a single sequential task; now use a real worker-pool so multiple tracks download in parallel
Concurrency is format-aware: 3 simultaneous downloads for lossy formats, capped to 2 for lossless (FLAC/ALAC), since lossless generation is much more expensive on the backend
Added a start-pacer that spaces out when new downloads begin (wider gap for lossless) on top of the concurrency cap — bursts of simultaneous requests were triggering backend 429/500 errors even within the concurrency limit
Fixed the download engine getting silently recreated from scratch whenever the Download tab's view was torn down (older iOS layout) — was orphaning in-flight downloads and losing queue state; now backed by a shared instance that survives it
Aggregate download speed now tracked and shown live across all active downloads

Background Downloads

Fixed isAppActive defaulting to true on a silent background relaunch, which routed transfers through the short-lived foreground path instead of the durable background session (caused FLAC→MP3 downgrades and stalls)
Fixed the candidate fallback loop not checking cancellation, which let a cancelled foreground download silently complete via the MP3 fallback instead of aborting
Completed-but-unclaimed background download results now persist to disk so a killed/relaunched app recovers them instead of re-downloading
Finished tracks now persist their own .done state so a relaunch mid-queue doesn't drop them from Queue Details
Added a genuine background-processing task (registered at launch) so metadata fetching can run even when the app isn't open, instead of only opportunistically while active
Each backend candidate now uses its own requested format for its file-extension fallback instead of a hardcoded "flac" default
Plain-language failure messages in the download queue instead of raw HTTP/backend error bodies
Fixed link.deezer.com short links not resolving
Fixed a crash: removing a failed download could resurrect it (and crash on the second removal) because a stray background-session completion callback fired after removal and wrote the state back. Removal now properly cancels the underlying background task too.

Smart Playlists

Create playlists by rule: Genre, Artist, Decade, Format, or Explicit Rating
Multi-select across all rule types with combined naming (e.g. "Rock, Pop" or "1990s, 2000s")
Live match counts, search within Genre/Artist lists, lossless-format badges
Artist grouping splits collab credits ("A & B") into separate artists, matching the on-device Artists tab
"Refresh Smart Playlist" — remembers its rule and can re-sync to catch newly matching songs

Playlists

New naming screen matches Apple Music: photo picker, large title field, X/checkmark controls — used for manual and smart playlist creation alike
Custom playlist cover photos: pick a photo, it's auto-cropped to a square and uploaded using the same on-device artwork system Apple Music itself uses; persists across relaunch
In-playlist rename
Playlist restore now lists which specific tracks failed to match instead of just a count

On-Device Library

Select/Select All controls pinned so they stay visible while scrolling
Select/Select All/Add to Playlist/Add to Album/Export restricted to the Songs tab; Playlists tab gets Select/Select All/Export/Delete
Removed redundant header title/count and Export Folder picker from non-Songs tabs
Audio Quality Analysis (new): tapping a song shows a verdict flagging mislabeled files (e.g. an MP3 renamed .flac), suspiciously over-compressed "lossless" files, and low-bitrate lossy files
On-device album metadata editing
In-place device audio file replacement
Content Rating redesigned from a cramped segmented control to a compact menu row, with a new "No Rating" option
Fixed the explicit/clean rating editor: a binary toggle could only ever write explicit/none, silently flipping "clean" tracks to explicit

Reliability Fixes

Injection failures no longer silently drop songs from the queue — unconfirmed songs are put back
Repair operations (artwork fix, database doctor, alphabetical order) use per-operation cancellation tokens instead of one shared flag, so cancelling one can no longer kill an unrelated one
Background metadata fetch no longer double-imports a song if the process is killed mid-drain
Artwork upload failures during metadata edits are now reported instead of silently swallowed
A failed database integrity check now aborts the library merge instead of writing on top of a known-corrupt database
Fixed the large-batch injection safeguard checking the wrong count
Fixed byetunes://download deep links opening the wrong tab on iOS 16–18
Fixed a Live Activity race that could resurrect it right after ending; orphaned Live Activities from a killed session now clean up on cold launch
Removed dead Tidal/Qobuz code and a broken last-resort Spotify mapping fallback

Backup & Restore

Merged Light/Full Backup toggle and "Export Full Library" into two direct-action rows; Full Backup always bundles per-playlist files

Settings

Store Region picker upgraded from a simple inline row to a full searchable, alphabetically-grouped screen with flags
About/Credits moved to its own section, separate from actionable controls
Added "Keep Local Metadata" to skip the fetch pipeline for imported local files

About

ByeTunes 🎵
Say goodbye to iTunes sync!
ByeTunes is a native iOS app that lets you inject music (MP3, M4A, FLAC, WAV) and ringtones directly into your device's media library—without needing a computer connection for every sync. It communicates directly with the iOS media database, giving you the power to manage your music on your terms.
Features

Direct Music Injection: Add songs to your Apple Music library without a PC.
(DISABLED FOR NOW) Ringtone Manager: Inject custom ringtones (.m4r and .mp3 auto-conversion).
Playlist Support: Create and manage playlists on the fly.
No Computer Needed (after setup): Once paired, you're free!
Metadata Editing: Auto-fetched from iTunes or Deezer.

Compilation Instructions
To build ByeTunes yourself, you'll need a Mac with Xcode.
Prerequisites

Xcode: Version 15+ recommended.
iOS Device: Running iOS 16.0 or later.

External Libraries
ByeTunes relies on idevice (a libimobiledevice alternative) to talk to the iOS internal file system. These files are NOT included in this repository for licensing/size reasons.
To compile the app, you need to obtain these two files and place them in the MusicManager/ directory:

libidevice_ffi.a (Static Library)
idevice.h (Header File)

You can find idevice and compile it from here: https://github.com/jkcoxson/idevice
If you don't have these files, the project will not compile.
Build Steps

Install Rust:
bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Add the ios Arch:
bash
rustup target add aarch64-apple-ios

Install Xcode Command Line Tools if you don't have it already installed:
bash
xcode-select --install

Clone the repo:
bash
git clone https://github.com/jkcoxson/idevice

Set a deployment target:
bash
export IPHONEOS_DEPLOYMENT_TARGET=xx.x

Run the cargo build:
bash
cargo build --release --package idevice-ffi --target aarch64-apple-ios
Inside the idevice folder find: idevice.h and libidevice_ffi.a. Move them inside the project in Xcode, make sure you create Bridging-Header.h
Inside your Xcode project and make sure you add:

bash
#import "idevice.h"
In Project Settings > Build Phases > Link Binary With Libraries, make sure libidevice_ffi.a is listed.
How to Use

LocalDevVPN:

Download LocalDevVPN from the App Store/Altstore PAL https://apps.apple.com/us/app/localdevvpn/id6755608044.
Open it and tap Connect, you will need an active connection to import the pairing file inside the app.

Pairing:

On first launch, you'll see an "Import Pairing File" screen.
You need to get a pairing file.
Download idevice_pair refer to https://github.com/jkcoxson/idevice_pair .
Generate you pairing file.
Export it from your computer and Airdrop/Save it to your iPhone.
Import it into ByeTunes.

Add Music:

Tap "Add Songs" and select files from your Files app.
Hit "Inject to Device" and watch the magic happen.

Ringtones:

Go to the Ringtones tab, add your file, and inject!

Notes

Signed Apps: If you install this via a signing service (Signulous, AltStore, etc.), the app includes a fix (asCopy: true) to ensure file importing works correctly without crashing.
Backup: Always good to have a backup of your music library before messing with database injection!

Support & Bug Reporting
Found a bug? We'd love to fix it!

Report Issues: Open a ticket on GitHub Issues.
Join the Community: Chat with us on Discord.
Attach Debug Logs:
If you are experiencing injection failures, please use the Debug Options under delte library inside settings.
This includes a "Debug Logs" screen where you can copy the app logs.
Please attach these logs to your issue report—they help us solve problems much faster!

Created with ❤️ by EduAlexxis

Also listed in 2 other sources

The same app in other sources, newest first. Check the source before you install.

SourceNameVersionReleasedSizeActions
Altmaker by RipeStore ByeTunes 2.5 Aug 31, 2026 16.0 MB Get
EduAlexxis Apps ByeTunes 2.5 Aug 31, 2026 16.0 MB Get

Share or follow

Add DanielTheManiel's Repo to AltStore SideStore Feather KSign LiveContainer