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, organize playlists, and keep your files clean. The true local music experience is here.
EduAlexxis
Open with AltStore, SideStore, or TrollStore
From DanielTheManiel's Repo — View Source
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
This is a really big update and i wanna say probably the biggest one for ByeTunes. A lot of things got added, improved and fixed in this version. Main thing to know first: Ringtone injection for iOS 18 and lower is disabled for now. I tried hard to make it work properly with all the logs, databases and files some of you sent me, but at this point I really need an iOS 18 or lower device on my hands to fully debug it correctly. Thanks to everybody who helped by sending logs and testing. Now for the good news. Added a new in-app FLAC downloader tab. You can now download songs straight from within ByeTunes without needing to leave the app. With the new downloader you can: Download individual songs Queue multiple songs Download full albums Choose only specific songs from an album instead of downloading the whole thing Downloaded songs now go through Apple Music metadata fetching automatically, so songs added from the downloader should already come with much better metadata. Added a new setting to keep downloaded songs locally. If enabled, downloaded songs will also be saved inside the app folder. If disabled, they are only used for injection and cleaned up later. Improved metadata fetching a lot. Metadata fetching from Apple Music is now much better and fills way more song fields correctly. This includes better support for: Full screen artwork Animated artwork compatibility Copyright info Label/company Disc numbers Track numbers Better album/song level metadata overall Added automatic Music app killing before injection. When injecting songs, ByeTunes now kills the Music app process first to reduce database corruption and random crashes as much as possible. This was tested many times and made injection way more reliable. Removed the ringtone tab on iOS 26. It is not needed there anymore because iOS 26 already introduced native ringtone management. Fixed song sorting. Songs now sort way better by song name and artist. Very big batch injections can still leave 1 or 2 songs a little out of place sometimes, but re-injecting those usually fixes it. Fixed artwork getting overridden by other songs. This was a major annoying bug and it should now be properly fixed. Improved big batch importing and injecting. Large libraries are handled much better now, and importing/injecting big amounts of songs is way more stable than before. Added snapshot backup/restore in settings. Even though database corruption is much less likely now, it is always better to have a safety option. You can create a snapshot/backup and restore it later if something goes wrong. Last but not least I have added different devices/regions databases support. Turns out devices in different regions handle databases differently so now it should work regardless. Thanks again to everybody helping test ByeTunes and sending logs, files and feedback. Hope you guys enjoy this update.