Discord Rich Presence for Apple Music on macOS.
- No AppleScript polling!
- 100% SwiftUI!
To run this app, you will need:
- macOS Ventura 13.0 and above.
To build this app, you will need:
- Xcode 14.1 and above.
- Download the latest release. (
AppleMusicDiscordRPC-x.y.z-b.zip
, not the source code) - Decompress the ZIP archive.
- Copy
Apple Music Discord RPC.app
to/Applications
.
- Have Discord and Music.app open.
- Launch
Apple Music Discord RPC.app
.
- Album art may not match the one in Music.app.
- Causes: This is because we're searching the track using the iTunes API and picking the first result.
- Resolution: None yet. If there's a way to take the artwork directly from Music.app and set it for Discord, let me know.
- Skipping/changing tracks too often leads to RPC not being updated temporarily.
- Causes: Discord rate-limits RPC updates, so does iTunes' API.
- Resolution: Try pausing the track, waiting a second, then playing again.
- Go to Apple Music Discord RPC.xcodeproj -> Apple Music Discord RPC target -> Signing and Capabilities and configure it to your desired account.
- Click the Play button and pray.
- ???
- If it works, horray!
Icons by Flaticons. They can be found in the discord-assets folder.
App icon created using Canva.
SwordRPC originally by @Azoy. Addtional functionality added by @PKBeam.
Music.app ScriptingBridge code generated using @tingraldi's SwiftScripting, which I forked.
We are not affiliated, associated, authorized, endorsed by, or in any way officially connected with Apple, Discord, or any of its subsidiaries or its affiliates.
The names Apple Music and Discord as well as related names, marks, emblems and images are registered trademarks of their respective owners.
- Look for Sparkle in the Xcode sidebar, right click it and choose 'Show in Finder'.
- In the Finder window, navigate to
../artifacts/sparkle/bin
. - Open a terminal in above directory and run
./generate_appcast /path/to/folder/with/built/zips
. - Fix the path of the new update to the GitHub Release.
- Copy the new
appcast.xml
to the repository root. - Push the changes to
main
for publishing.
Once you already have that new appcast.xml
in step 3, keep it in the same directory for future use.