Откройте для себя лучшие приложения Spotify, чтобы насладиться Spotify Premium бесплатно. Скачать Spotify ++ для iOS 18, iOS 17, iOS 16 и iOS 15 В 2024 году не требуется джейлбрейк. Эти версии Spotify ++ совместимы со всеми iPhone и iPad.
Spotify ++ для iOS - это модифицированная версия Spotify, разработанная для устройств iPhone, iPad и iPod Pro. Вот последний обновленный список лучших настроенных приложений Spotify, чтобы сэкономить ваше время.
Spotify thrieks Name | Описание |
---|---|
EeveeSpotify | Этот настройка заставляет Spotify подумать, что у вас есть премиальная подписка, предоставляя бесплатное слушание, как Spotilife. Он также предоставляет дополнительные функции, такие как пользовательские тексты. |
Spotify++ | Spotify ++ для iOS - это модифицированная версия популярного приложения потоковой передачи музыки, разработанного для устройств Apple, таких как iPad и iPhone. Разработанное сторонними создателями, это настроенное приложение разблокирует Spotify Premium Features без подписки, предоставляя вам опыт работы без рекламы и воспроизведение песен по требованию. |
Spotube | Spotube - музыкальный проигрыватель для iOS с поддержкой Spotify API. Он служит альтернативой Spotify, предоставляя пользователям неограниченный доступ ко всей их музыкальной коллекции в их плейлистах и библиотеках Spotify. Используя надежный API данных Spotify, Spotube плавно интегрируется с такими платформами, как YouTube, Piped.video или JioSaavn, предлагая бесплатную, без рекламу потоковой передачи музыки. |
Spotilife | Spotilife - это настройка приложения Spotify iOS, которая удаляет рекламу, удаляет ограниченные пропуски и разблокирует почти любую другую премиальную функцию. |
Начиная с версии Spotify ++, приложение перехватывает запросы Spotify для загрузки пользовательских данных, десериализует их и изменяет параметры в режиме реального времени. Этот метод очень стабилен и эффективен, что позволяет пользователям выбрать метод динамического исправления премиум -класса в настройках Spotify ++.
После входа в систему Spotify получает пользовательские данные и кэширует их в файле offline.bnk
, расположенном в каталоге /Library/Application Support/PersistentCache
. Он хранит данные в своем проприетарном двоичном формате, включая байт длины перед каждым значением и другими конвенциями. Ключи, такие как player-license
, financial-product
, streaming-rules
и другие, определяют возможности пользователя.
Tweak исправляет этот файл во время инициализации; Затем Spotify загружает его, предполагая, что пользователь имеет премиальный доступ. Однако из -за проблем с динамической длиной и разнообразными байтами фактическое исправление может не возникнуть. Tweak извлекает имя пользователя из текущего файла offline.bnk
и вводит его в premiumblank.bnk
, файл, содержащий все предустановленные премиальные значения, заменяя offline.bnk
. Если Spotify Reloads пользовательские данные пользователь может быть переключен на бесплатный план, запуская всплывающее окно с параметрами для быстрого перезапуска приложения и сброса данных.
Кроме того, Tweak устанавливает trackRowsEnabled
в SPTFreeTierArtistHubRemoteURLResolver
на true
, что позволяет Spotify загружать не только имена отслеживания на странице артиста. Хотя эта функциональность может прекратиться, аналогично Spotilife, она остается эффективной в последних версиях Spotify 8.9 ##. (Spotilife также изменяет offline.bnk
, но меняет неясные байты, которые не влияют на новые версии).
Чтобы открыть ссылки Spotify в приложении с нагрузкой, обеспечить разрешение активации и доступа в настройках> Safari> расширения.
Откройте для себя Spotify ++, расширенную версию Spotify, адаптированную для устройств iOS. Наслаждайтесь премиальными функциями без подписки, бесплатной музыки и потоковой передачи видео, воспроизведения HD и многого другого. Легко загрузить и установить Spotify ++ на iPhone или iPad без джейлбрейка. Оставайтесь в курсе последних версий iOS и получайте доступ к эксклюзивному контенту перед кем -либо еще.
Особенность | Описание |
---|---|
Премиальные функции бесплатно | Доступ к Spotify Premium Features без подписки, включая прослушивание без рекламы. |
Без рекламы опыт | Устраните перерывы без рекламы во время музыки и видеопотоки. |
HD Playback | Наслаждайтесь кристально чистым качеством аудио и видео в режиме Full HD. |
Неограниченные пропуски | Пропустить треки без ограничений, давая вам полный контроль над своим музыкальным плейлистом. |
Импортировать музыку | Легко импортировать треки из хранилища вашего устройства в Spotify ++, расширяя вашу музыкальную библиотеку. |
Бесплатно скачать | Загрузите Spotify ++ бесплатно и улучшите свой музыкальный опыт без каких -либо затрат. |
Не требуется джейлбрейк | Установите Spotify ++ надежно на вашем устройстве iOS без необходимости джейлбрейка. |
совместимость iOS | Совместим с iOS 15 и iOS 16, обеспечивая оптимальную производительность на последних устройствах Apple. |
Нет принудительного перетасовки | Слушайте свою музыку в том порядке, который вы предпочитаете, без вынужденной функции перетасовки в Spotify ++. |
Скачать фавориты | Сохраните любимые треки для автономного прослушивания, загрузив их в приложении. |
Во -первых, давайте улучшим нашу модель Song
, чтобы включить больше свойств, таких как fileURL
для воспроизведения аудио и isPlaying
для отслеживания текущего состояния воспроизведения:
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
}
Далее, давайте обновим наш класс AudioPlayer
, чтобы поддержать более продвинутые функции воспроизведения аудио с использованием 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 ) )
}
}
Теперь давайте расширим наши взгляды Swiftui, чтобы включить элементы управления воспроизведением (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 (предстоящий), 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 бета
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 iOS, iO 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.
Этот проект является открытым исходным кодом и управляется лицензией MIT. Вы можете использовать, изменять и распространять его в условиях, изложенных в лицензионном соглашении.
Мы выражаем нашу искреннюю признательность людям и командам, чья преданность и усилия сделали возможным проект Spotify ++. Их вклад был неоценим: