Spotify, in glass.
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.
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.
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.
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.
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.
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.





