Каждое приложение для "чистки библиотеки Apple Music" упирается в одну и ту же стену: у MusicKit, фреймворка, на котором построено каждое стороннее приложение, нет функции удаления. Это не особенность одного приложения, а ограничение, встроенное в сам API. Я столкнулся с этой стеной, создавая SongSweep, и она формирует всё, что делает приложение.

Это та страница, которую я хотел бы найти, когда начинал: что MusicKit реально позволяет делать приложению, почему Apple спроектировала это так, и что на самом деле означает "удаление", когда приложение заявляет, что предлагает его. Каким бы приложением для чистки ты ни пользовался, это объясняет, что происходит за свайпом.

Что реально может делать стороннее приложение в Apple Music?

MusicKit это фреймворк, который Apple даёт разработчикам для создания приложений вокруг Apple Music. Он намеренно узкий. Приложение может читать твою библиотеку (какие песни, альбомы и плейлисты у тебя есть), добавлять песни в библиотеку из каталога Apple Music, создавать новые плейлисты и добавлять в них песни, ставить оценку песне (Нравится или Показывать меньше) и воспроизводить песню тебе.

Это весь набор инструментов. Нет функции удаления, нет способа убрать песню из плейлиста после добавления, и ничего, что позволило бы приложению трогать метаданные вроде имени исполнителя или обложки альбома у трека, уже находящегося в библиотеке. Каждое приложение, которым ты пользовался для организации Apple Music, включая SongSweep, работает в рамках этих же разрешений.

ДействиеРазрешено приложениямЧто делает SongSweep
Читать твою библиотекуДаПоказывает песни по месяцам, плейлистам, исполнителям или умным фильтрам
Добавить песню в библиотекуДаНе используется для чистки, зарезервировано для собственных функций приложения
Создать и заполнить плейлистДаДобавляет отсортированные песни в 'SongSweep - Sorted Out'
Поставить оценку (Нравится / Показывать меньше)ДаСтавит Показывать меньше при сортировке, Нравится при нажатии на сердечко
Воспроизвести песнюДаПроигрывает превью перед решением
Удалить песню из библиотекиНетНе может, удаляешь вручную в приложении Музыка
Убрать песню из плейлистаНетНе может убрать песни из 'Sorted Out' после добавления
Редактировать метаданные песниНетНикогда не пытается

Почему Apple спроектировала это именно так?

Это выглядит ограничивающим, пока не подумаешь об альтернативе. Если бы любое приложение из App Store могло удалять песни из твоей библиотеки, одно неудачное обновление или баг в процедуре сортировки могли бы стереть годы музыки, которую не вернуть. Apple держит эту кнопку в собственном приложении, где интерфейс, диалог подтверждения и поведение отмены находятся под её собственным контролем.

Это та же схема во всём iOS. Сторонние приложения могут читать твои фото и контакты, но только приложения Фото и Контакты позволяют массово удалить запись без прохождения через собственное подтверждение системы. Разрушительные действия остаются близко к данным, а не разбросаны по каждому приложению, которое их касается.

Для разработчика это слегка раздражает. Для тебя как пользователя это подстраховка, о которой не приходится думать, вплоть до дня, когда у стороннего приложения появится баг.

Так что же на самом деле делает каждое приложение для "чистки музыки"?

Учитывая эти ограничения, есть только один честный способ построить приложение для чистки библиотеки: собрать нежелательные песни в плейлист, который можно просмотреть, скорректировать оценку так, чтобы рекомендации Apple Music перестали их предлагать, и вести локальный список, чтобы приложение помнило, что ты уже решил.

Любое приложение, заявляющее что-то другое, либо описывает тот же механизм другими словами, либо просто очищает загрузки, что освобождает место, но оставляет песню в твоей библиотеке, а не удаляет её из библиотеки. Если скриншот показывает исчезновение песни после свайпа, присмотрись: она исчезла из вида этого приложения, а не из Apple Music.

Я предпочитаю рассказать точно, что происходит, чем позволить тебе предполагать, что кнопка "удалить" делает то, чего она делать не может.

Как SongSweep использует эти три разрешения?

Когда ты сортируешь песню в SongSweep, в фоне происходят три вещи. Песня добавляется в плейлист под названием 'SongSweep - Sorted Out'. Оценка Показывать меньше отправляется в Apple Music через API Apple Music, что говорит движку рекомендаций Apple показывать тебе меньше этой песни и похожих. И песня помечается как просмотренная внутри SongSweep, чтобы больше никогда не появиться в твоих сессиях свайпов.

Оставить работает иначе: свайп вправо ничего не меняет в Apple Music, он просто помечает песню как просмотренную, чтобы её больше не предлагали. Сохранить, свайп вверх, откладывает песню на потом. Ни одно из этих действий нельзя отменить постфактум, кроме Отмены на самом последнем свайпе, потому что ни одно из них не разрушительно, все они дополняющие: запись в плейлисте, оценка, локальный флаг.

Как реально удалить песни после этого?

После того как ты отсортировал партию песен, плейлист 'SongSweep - Sorted Out' это твой список для просмотра, а не корзина, которая опустошается сама. Удаление это осознанный шаг, который ты делаешь в самом приложении Музыка от Apple, именно там, где Apple хочет, чтобы это решение происходило.

Если хочешь очистить большую партию, не заходя в этот плейлист песня за песней, смотри статью как удалить песни Apple Music массово для самых быстрых путей на iPhone и Mac.

  1. Открой приложение Музыка и перейди в плейлист 'SongSweep - Sorted Out'
  2. На iPhone удерживай песню и нажми Удалить из медиатеки, по одной песне за раз
  3. На Mac выдели песни в плейлисте с Cmd или Shift, кликни правой кнопкой и выбери Удалить из медиатеки, затем подтверди
  4. Песни исчезают из твоей библиотеки, и любые скачанные файлы удаляются вместе с ними

На что обратить внимание, когда приложение заявляет об "удалении" песен

Ни одно приложение из App Store, включая SongSweep, не может удалить песню из твоей библиотеки Apple Music или убрать её из плейлиста без того, чтобы ты сам сделал последний шаг в приложении Музыка. Это жёсткое ограничение API Apple, а не отсутствующая функция.

Если ты пользуешься приложением и песня как будто исчезает из библиотеки после свайпа, посмотри, что реально произошло: почти всегда это означает, что песня была убрана из плейлиста, который это приложение создало и контролирует, а не из твоей библиотеки Apple Music. Проверь количество песен в библиотеке в приложении Музыка, прежде чем доверять такому заявлению.

Та же честность применима к искателям дубликатов, чистильщикам памяти или чему угодно, обещающему стирание библиотеки одним нажатием. Для полной картины того, что приложение для чистки может ответственно делать, начни со статьи как навести порядок в библиотеке Apple Music или вернись к SongSweep, чтобы попробовать поток свайпов самому.