Skip to content

About

Liquid Glass and Apple Music touches for the Spotify iOS app. A GPL-3.0 fork of spoti.pw 0.21.1.

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

Vitrine

Spotify, in glass.

iOS Spotify 9.1.78 Spotify 9.1.88 supported Objective-C GitHub Actions GPL-3.0

Build it · Hack on it

Full screen player with lyrics Album Playlist Queue Live Activity on the lock screen Home

A no-jailbreak Theos tweak that rebuilds Spotify for iOS in Liquid Glass, injected into your own decrypted IPA and signed with your own certificate.

Vitrine is a fork of spoti.pw by Vojtěch Škopek, taken from 0.21.1 (commit c790445, 2026-09-23), the last version released under GPL-3.0, and modified since.

Built and tested on Spotify 9.1.78, Spotify 9.1.88 and Spotify 9.1.90. The mod hooks Spotify's own classes, which change between releases, so any other version may build and then break.

The redesign iOS 26+
Legacy look iOS 16.1+
Live Activity iOS 17+

The redesign is UIGlassEffect, which only exists from iOS 26. Below that the Redesigned UI switch turns it on only after a warning that it is untested there, and a launch with it that hangs goes back to Spotify's own screens with everything else the mod adds on top. Both live in Settings → Mod Settings.

Build it

No IPA is distributed. Bring a decrypted Spotify 9.1.78, 9.1.88 or 9.1.90 IPA; you get an unsigned vitrine-<mod version>.ipa to sign with SideStore, Feather or any certificate signer. Releases have no .deb: injected by hand, the tweak alone misses the app changes the redesign needs (its glass tab bar), the Live Activity, Music Haptics in the background and Connect's local discovery, so build the IPA instead.

Build with GitHub Actions

Fork the repo, enable Actions, run Build IPA from your own Spotify IPA. It takes a direct link to your decrypted .ipa and hands the built IPA back as a workflow artifact. No Mac needed; the link is masked in the log and the result stays in your fork.

Build on a Mac

Theos in ~/theos and Xcode with an iPhoneOS 26+ SDK (xcode-select it). An SDK in ~/theos/sdks alone builds too, but without the Live Activity. Then:

brew install make ldid dpkg zsign libimobiledevice
uv tool install "cyan @ git+https://github.com/asdfzxcvbn/pyzule-rw"

Put the decrypted .ipa in ipa/, then:

make release    # out/vitrine-<version>.ipa, ready to sign
make install    # the same, signed with your certificate and installed over USB or Wi-Fi

scripts/pipeline.sh <ipa> --no-flex --keep-watch keeps Spotify's Apple Watch app (untested). Only its arm64 build survives decryption on an iPhone, so it can run only on an Apple Watch Series 9, Ultra 2 or newer, and it needs a signer that renames the Watch app to your App ID and signs it with a profile of its own that includes the Watch. make install does not do that yet.

make install reads SIGN_P12, SIGN_PROFILE and SIGN_P12_PASSWORD from .signing.env; copy .signing.env.example and fill it in.

The first build spends a minute reading Spotify's flags out of your IPA. make flags regenerates it.

Signing

Sign with a bundle id matching your certificate's App ID. If it doesn't match, the app still works but tapping the player on the lock screen won't open it — and it tells you on first launch which id to use. In Feather, copy the App ID into Identifier and leave PPQ protection off; AltStore, SideStore and Sideloadly get this right on their own.

The app keeps Spotify's bundle id, so it installs over the real Spotify.

Credits

cyan injects, Theos builds, and FLEX, as hopeless's AutoFLEX build in vendor/, is the inspector the view trees are read through. The ad blocking and the Premium state are ported from EeveeSpotify Reincarnated.

GPL-3.0. Not affiliated with Spotify.

About

Liquid Glass and Apple Music touches for the Spotify iOS app. A GPL-3.0 fork of spoti.pw 0.21.1.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages