Découvrez les meilleures applications Spotify modifiées pour profiter gratuitement de Spotify Premium. Téléchargez Spotify ++ pour iOS 18, iOS 17, iOS 16 et iOS 15 en 2024, aucun jailbreak requis. Ces versions de Spotify ++ sont compatibles avec tous les iPhones et iPads.
Spotify ++ pour iOS est une version modifiée de Spotify conçue pour les appareils iPhone, iPad et iPod Pro. Voici la dernière liste mise à jour des meilleures applications Spotify modifiées pour vous faire gagner du temps.
Spotify ajuster le nom | Description |
---|---|
EeveeSpotify | Ce tweak fait que Spotify pense que vous avez un abonnement premium, accordant une écoute gratuite comme Spolife. Il offre également des fonctionnalités supplémentaires comme les paroles personnalisées. |
Spotify++ | Spotify ++ pour iOS est une version modifiée de l'application de streaming de musique populaire adaptée aux appareils Apple comme iPad et iPhone. Développé par des créateurs tiers, cette application modifiée déverrouille Spotify Premium des fonctionnalités sans abonnement, vous accordant une expérience sans publicité et une lecture de chanson à la demande. |
Spotube | Spotube est un lecteur de musique pour iOS avec le support de l'API Spotify. Il sert d'alternative à Spotify, accordant aux utilisateurs un accès sans restriction à toute leur collection de musique au sein de leurs listes de lecture et de leurs bibliothèques Spotify. Tiration de l'API de données robustes de Spotify, Spotube s'intègre de manière transparente avec des plates-formes comme YouTube, Piped.video ou Jiosaavn, offrant un streaming de musique gratuit et sans publicité. |
Spotilife | Spotlife est un ajustement de l'application iOS Spotify qui supprime les publicités, supprime des sauts limités et déverrouille presque toutes les autres fonctionnalités premium. |
En commençant par la version Spotify ++, l'application intercepte Spotify demandes pour charger les données de l'utilisateur, la désérialise et modifie les paramètres en temps réel. Cette méthode est très stable et efficace, permettant aux utilisateurs de sélectionner la méthode dynamique de correction premium dans les paramètres Spotify ++.
Lors de la connexion, Spotify récupére les données utilisateur et les cache dans le fichier offline.bnk
situé dans le répertoire /Library/Application Support/PersistentCache
. Il stocke les données dans son format binaire propriétaire, y compris un octet de longueur avant chaque valeur et autres conventions. Des clés telles que player-license
, financial-product
, streaming-rules
et d'autres déterminent les capacités de l'utilisateur.
Le tweak patchs ce fichier lors de l'initialisation; Spotify le charge ensuite, en supposant que l'utilisateur a un accès premium. Cependant, en raison de défis avec une longueur dynamique et des octets variés, le correctif réel peut ne pas se produire. Le Tweak extrait le nom d'utilisateur du fichier offline.bnk
actuel et l'inserte dans premiumblank.bnk
, un fichier contenant toutes les valeurs prédéfinies, remplaçant offline.bnk
. Si Spotify recharge les données de l'utilisateur, l'utilisateur peut être passé au plan gratuit, déclenchant une fenêtre contextuelle avec des options pour redémarrer rapidement l'application et réinitialiser les données.
De plus, le tweak définit trackRowsEnabled
dans SPTFreeTierArtistHubRemoteURLResolver
sur true
, permettant à Spotify de charger non seulement des noms de suivi de la page de l'artiste. Bien que cette fonctionnalité puisse cesser, semblable à Spotlife, elle reste efficace sur les dernières versions Spotify 8.9 ##. (Spotlife modifie également offline.bnk
, mais change d'octets obscurs qui n'ont aucun effet sur les versions plus récentes).
Pour ouvrir Spotify Links dans l'application d'élevés de touche, assurez l'autorisation d'activation et d'accès dans les paramètres> Safari> Extensions.
Découvrez Spotify ++, la version améliorée de Spotify adaptée aux appareils iOS. Profitez des fonctionnalités premium sans abonnement, de la musique sans publicité et du streaming vidéo, de la lecture HD, etc. Téléchargez et installez facilement Spotify ++ sur votre iPhone ou iPad sans jailbreak. Restez à jour avec les dernières versions iOS et accédez au contenu exclusif avant quiconque.
Fonctionnalité | Description |
---|---|
Caractéristiques premium gratuitement | Accédez aux fonctionnalités de Spotify Premium sans abonnement, y compris une écoute sans publicité. |
Expérience sans publicité | Éliminez les interruptions sans publicité lors des séances de diffusion en musique et en streaming vidéo. |
Lecture HD | Profitez de la qualité audio et vidéo cristalline en mode HD complet. |
Sauts illimités | Évitez les pistes sans limites, vous donnant un contrôle complet sur votre liste de lecture musicale. |
Importer de la musique | Importez facilement des pistes depuis le stockage de votre appareil à Spotify ++, en élargissant votre bibliothèque musicale. |
Téléchargement gratuit | Téléchargez Spotify ++ gratuitement et améliorez votre expérience musicale sans aucun coût. |
Aucun jailbreak requis | Installez Spotify ++ en toute sécurité sur votre appareil iOS sans avoir besoin de jailbreak. |
compatibilité iOS | Compatible avec iOS 15 et iOS 16, garantissant des performances optimales sur les derniers appareils Apple. |
Pas de mélange forcé | Écoutez votre musique dans l'ordre que vous préférez, sans fonctionnalité de shuffle forcée dans Spotify ++. |
Télécharger les favoris | Enregistrez les pistes préférées pour l'écoute hors ligne en les téléchargeant dans l'application. |
Tout d'abord, améliorons notre modèle Song
pour inclure plus de propriétés comme fileURL
pour jouer audio et isPlaying
à la suivi de l'état de jeu actuel:
struct Song {
let id : Int
let title : String
let artist : String
let album : String
let duration : Int // in seconds
let artwork : String // image name or URL
let fileURL : URL // URL to audio file
var isPlaying : Bool = false
}
Ensuite, mettons à jour notre classe AudioPlayer
pour prendre en charge les fonctionnalités de lecture audio plus avancées à l'aide d' AVPlayer
:
import AVFoundation
class AudioPlayer {
static let shared = AudioPlayer ( )
private var player : AVPlayer ?
private var currentSong : Song ?
func play ( song : Song ) {
if currentSong ? . id == song . id {
// If the same song is already playing, toggle play/pause
if player ? . rate == 0 {
player ? . play ( )
} else {
player ? . pause ( )
}
} else {
// Play a new song
currentSong = song
player = AVPlayer ( url : song . fileURL )
player ? . play ( )
// Update the isPlaying state of the song
song . isPlaying = true
}
}
func pause ( ) {
player ? . pause ( )
if let song = currentSong {
song . isPlaying = false
}
}
func stop ( ) {
player ? . pause ( )
player = nil
if let song = currentSong {
song . isPlaying = false
}
}
func seek ( to time : TimeInterval ) {
player ? . seek ( to : CMTime ( seconds : time , preferredTimescale : 1 ) )
}
}
Maintenant, améliorons nos vues Swiftui pour inclure les contrôles de lecture (Play / Pause, Seek Bar):
import SwiftUI
import AVFoundation
struct ContentView : View {
@ State private var songs : [ Song ] = [
Song ( id : 1 , title : " Song 1 " , artist : " Artist A " , album : " Album X " , duration : 180 , artwork : " song1 " , fileURL : Bundle . main . url ( forResource : " song1 " , withExtension : " mp3 " ) ! ) ,
Song ( id : 2 , title : " Song 2 " , artist : " Artist B " , album : " Album Y " , duration : 200 , artwork : " song2 " , fileURL : Bundle . main . url ( forResource : " song2 " , withExtension : " mp3 " ) ! )
// Add more songs as needed
]
@ State private var isPlaying = false
@ State private var currentSong : Song ?
@ State private var currentTime : TimeInterval = 0
@ State private var duration : TimeInterval = 0
var body : some View {
NavigationView {
VStack {
if let song = currentSong {
VStack {
Image ( song . artwork )
. resizable ( )
. aspectRatio ( contentMode : . fit )
. frame ( width : 200 , height : 200 )
Text ( song . title )
. font ( . title )
. padding ( . top , 8 )
Text ( song . artist )
. font ( . headline )
. foregroundColor ( . gray )
. padding ( . bottom , 8 )
Text ( timeToString ( time : currentTime ) + " / " + timeToString ( time : duration ) )
. font ( . caption )
. foregroundColor ( . gray )
. padding ( . bottom , 16 )
HStack {
Button ( action : {
self . previous ( )
} ) {
Image ( systemName : " backward.fill " )
. font ( . title )
. foregroundColor ( . blue )
}
. padding ( . trailing , 40 )
Button ( action : {
self . playPause ( )
} ) {
Image ( systemName : isPlaying ? " pause.circle.fill " : " play.circle.fill " )
. font ( . system ( size : 80 ) )
. foregroundColor ( . blue )
}
Button ( action : {
self . next ( )
} ) {
Image ( systemName : " forward.fill " )
. font ( . title )
. foregroundColor ( . blue )
}
. padding ( . leading , 40 )
}
. padding ( . top , 32 )
Slider ( value : Binding (
get : { self . currentTime } ,
set : { newValue in
self . seek ( to : newValue )
}
) , in : 0 ... duration )
. padding ( . horizontal )
}
. onAppear {
self . play ( song : song )
}
} else {
Text ( " Select a song to play " )
. font ( . title )
. foregroundColor ( . gray )
}
List ( songs , id : . id ) { song in
SongRow ( song : song , isSelected : song . id == self . currentSong ? . id )
. onTapGesture {
self . currentSong = song
}
}
. navigationBarTitle ( " Music Player " )
}
}
. onReceive ( Timer . publish ( every : 1 , on : . main , in : . common ) . autoconnect ( ) ) { _ in
if self . isPlaying , let player = AudioPlayer . shared . player {
self . currentTime = player . currentTime ( ) . seconds
self . duration = player . currentItem ? . duration . seconds ?? 0
}
}
}
private func play ( song : Song ) {
AudioPlayer . shared . play ( song : song )
isPlaying = true
}
private func playPause ( ) {
if let song = currentSong {
if isPlaying {
AudioPlayer . shared . pause ( )
} else {
play ( song : song )
}
isPlaying . toggle ( )
}
}
private func seek ( to time : TimeInterval ) {
AudioPlayer . shared . seek ( to : time )
}
private func next ( ) {
guard let currentIndex = songs . firstIndex ( where : { $0 . id == currentSong ? . id } ) , currentIndex < songs . count - 1 else {
return
}
currentSong = songs [ currentIndex + 1 ]
}
private func previous ( ) {
guard let currentIndex = songs . firstIndex ( where : { $0 . id == currentSong ? . id } ) , currentIndex > 0 else {
return
}
currentSong = songs [ currentIndex - 1 ]
}
private func timeToString ( time : TimeInterval ) -> String {
let minutes = Int ( time ) / 60
let seconds = Int ( time ) % 60
return String ( format : " %02d:%02d " , minutes , seconds )
}
}
struct SongRow : View {
let song : Song
let isSelected : Bool
var body : some View {
HStack {
Image ( song . artwork )
. resizable ( )
. aspectRatio ( contentMode : . fit )
. frame ( width : 50 , height : 50 )
VStack ( alignment : . leading ) {
Text ( song . title )
. font ( . headline )
Text ( song . artist )
. font ( . subheadline )
}
Spacer ( )
if isSelected {
Image ( systemName : " speaker.fill " )
. foregroundColor ( . blue )
. padding ( . trailing , 20 )
}
}
. padding ( 8 )
}
}
iPhone 16 (à venir), iPhone 15 Pro Max, iPhone 15 Pro, iPhone 15 Plus, iPhone 15, iPhone 14 Pro Max, iPhone 14 Pro, iPhone 14 Plus, iPhone 14.
iPhone 13 Pro Max, iPhone 13 Pro, iPhone 13 Mini, iPhone 13, iPhone 12 Pro Max, iPhone 12 Pro, iPhone 12 Mini, iPhone 12, iPhone 11 Pro Max, iPhone 11 Pro, iPhone 11, iPhone XS Max, iPhone XS , iPhone XR, iPhone X.
Spotify for iOS 18:
iOS 18 Beta
Spotify for iOS 17:
iOS 17.6, iOS 17.5.1, iOS 17.5, iOS 17.4.1, iOS 17.4, iOS 17.3.1, iOS 17.3, iOS 17.2.1, iOS 17.2, iOS 17.1.2, iOS 17.1.1, IOS 17.1, iOS 17.0.3, iOS 17.0.2, iOS 17.0.1, iOS 17.
Spotify for iOS 16:
iOS 16.7.5, iOS 16.7.4, iOS 16.7.3, iOS 16.7.2, iOS 16.7.1, iOS 16.7, iOS 16.6.1, iOS 16.6, iOS 16.5.1, iOS 16.5, iOS 16.4.1, iOS 16.4, iOS 16.3.1, iOS 16.3, iOS 16.2, iOS 16.1.2, iOS 16.1.1, iOS 16.1, iOS 16.0.3, iOS 16.0.2, iOS 16.0.1, iOS 16.
Spotify for iOS 15:
iOS 15.8.2, iOS 15.8.1, iOS 15.8, iOS 15.7.9, iOS 15.7.8, iOS 15.7.7, iOS 15.7.6, iOS 15.7.5, iOS 15.7.4, iOS 15.7 .3, iOS 15.7.2, iOS 15.7.1, iOS 15.7, iOS 15.6.1, iOS 15.6, iOS 15.5, iOS 15.4.1, iOS 15.4, iOS 15.3.1, iOS 15.3, iOS 15.2.1, iOS 15.2 , iOS 15.1.1, iOS 15.1, iOS 15.0.2, iOS 15.0.1, iOS 15.
Spotify for iOS 14:
iOS 14.8.1, iOS 14.8, iOS 14.7.1, iOS 14.7, iOS 14.6, iOS 14.5.1, iOS 14.5, iOS 14.4.2, iOS 14.4.1, iOS 14.4, iOS 14.3, iOS 14.2 .1, iOS 14.2, iOS 14.1, iOS 14.0.1, iOS 14.
Spotify for iOS 13:
iOS 13.7, iOS 13.6.1, iOS 13.6, iOS 13.5.1, iOS 13.5, iOS 13.4.1, iOS 13.4, iOS 13.3.1, iOS 13.3, iOS 13.2.3, iOS 13.2.2, IOS 13.2, iOS 13.1.3, iOS 13.1.2, iOS 13.1.1, iOS 13.1, iOS 13.
Spotify for iOS 12:
iOS 12.5.7, iOS 12.5.6, iOS 12.5.5, iOS 12.5.4, iOS 12.5.3, iOS 12.5.2, iOS 12.5.1, iOS 12.5, iOS 12.4.9, iOS 12.4 .8, iOS 12.4.7, iOS 12.4.6, iOS 12.4.5, iOS 12.4.4, iOS 12.4.3, iOS 12.4.2, iOS 12.4.1, iOS 12.4, iOS 12.3.2, iOS 12.3.1 , iOS 12.3, iOS 12.2, iOS 12.1.4, iOS 12.1.3, iOS 12.1.2, iOS 12.1.1, iOS 12.1, iOS 12.0.1, iOS 12.
Ce projet est open-source et régi par la licence du MIT. Vous êtes invités à l'utiliser, à le modifier et à le distribuer dans les conditions décrites dans le contrat de licence.
Nous élargissons notre sincère appréciation aux individus et aux équipes dont le dévouement et l'effort ont rendu le projet Spotify ++ possible. Leurs contributions ont été inestimables: