「Apple Musicライブラリを整理する」アプリはどれも同じ壁にぶつかります。サードパーティアプリの土台であるMusicKitには削除機能がないのです。これは1つのアプリだけの癖ではなく、API自体に組み込まれた制限です。私はSongSweepを作る過程でこの壁にぶつかり、それがアプリのあらゆる部分を形作っています。

これは、自分が開発を始めたときにあってほしかったページです。MusicKitが実際にアプリに何を許可しているのか、なぜAppleはこう設計したのか、そしてアプリが「削除」を謳うときそれが本当は何を意味するのか。どの整理アプリを使っているとしても、これはスワイプの裏側で何が起きているかを説明するものです。

サードパーティアプリはApple Musicで実際に何ができるのか?

MusicKitは、開発者がApple Musicを中心にアプリを作るためにAppleが提供しているフレームワークです。意図的に範囲が狭く設計されています。アプリはライブラリを読み取り(どんな曲、アルバム、プレイリストを持っているか)、Apple Musicカタログからライブラリに曲を追加し、新しいプレイリストを作成して曲を追加し、曲にレーティング(ラブまたは「あまり提案しない」)を設定し、あなたのために曲を再生することができます。

これがツールボックスのすべてです。削除機能はなく、一度追加したプレイリストから曲を取り除く方法もなく、すでにライブラリにあるトラックのアーティスト名やアルバムアートのようなメタデータに触れる手段もありません。SongSweepを含め、これまでApple Musicの整理に使ったどのアプリも、この同じ権限の中で動いています。

操作アプリに許可されているかSongSweepの動作
ライブラリを読み取る可能月、プレイリスト、アーティスト、スマートフィルター別に曲を表示
ライブラリに曲を追加する可能整理には使わず、アプリ独自の機能のために確保
プレイリストを作成して曲を追加する可能仕分けした曲を「SongSweep - Sorted Out」に追加
レーティング(ラブ/あまり提案しない)を設定する可能仕分け時に「あまり提案しない」、ハートをタップしたときにラブを設定
曲を再生する可能判断する前にプレビューを再生
ライブラリから曲を削除する不可できないため、ミュージックアプリで手動削除
プレイリストから曲を取り除く不可一度追加した「Sorted Out」から曲を取り除けない
曲のメタデータを編集する不可一切試みない

なぜAppleはこのように設計したのか?

代替案を考えるまでは制限的に見えます。もしApp Storeのどのアプリでもライブラリから曲を削除できてしまえば、1回の不具合のあるアップデートや、並べ替えロジックの1つのバグで、取り戻せない何年分もの音楽が消えてしまうかもしれません。Appleはそのボタンを自社アプリの中に留めており、インターフェース、確認ダイアログ、元に戻す動作のすべてを自分たちの管理下に置いています。

これはiOS全体で共通するパターンです。サードパーティアプリは写真や連絡先を読み取れますが、システム自体の確認を経ずに一括で項目を削除できるのは、写真アプリと連絡先アプリだけです。破壊的な操作は、それに触れるすべてのアプリに広がるのではなく、データのすぐ近くに留められています。

開発者にとってはややもどかしいことですが、ユーザーであるあなたにとっては、サードパーティアプリにバグが見つかる日まで、意識する必要すらない安全網になっています。

では「ミュージッククリーナー」アプリは実際に何をしているのか?

これらの制限を踏まえると、ライブラリ整理アプリを作る誠実な方法は実質1つしかありません。消したい曲を見直せるプレイリストに集める、Apple Musicのおすすめがそれらをあなたに押し付けなくなるようレーティングを調整する、そしてすでに判断した曲をアプリが覚えておくためのローカルなリストを保持する、この3つです。

何か違うことをしていると主張するアプリは、同じ仕組みを別の言葉で説明しているか、あるいはダウンロードを消しているだけです。それはストレージを空けても、曲自体はライブラリに、そのものではなく、残ります。スワイプ後に曲が消えるスクリーンショットを見たら、よく見てください。それはそのアプリ自身の表示から消えただけで、Apple Musicから消えたわけではありません。

「削除」ボタンができないことをできるかのように思わせるより、実際に何が起きるのかを正確に伝えたいと思っています。

SongSweepはこの3つの権限をどう使っているのか?

SongSweepで曲を仕分けすると、バックグラウンドで3つのことが起こります。曲が「SongSweep - Sorted Out」という名前のプレイリストに追加されます。Apple Music APIを通じて「あまり提案しない」レーティングがApple Musicに送られ、Appleのおすすめエンジンにその曲や似た曲をあまり表示しないよう伝えます。そして、その曲はSongSweep内で確認済みとしてマークされ、以降のスワイプセッションに二度と現れなくなります。

キープは動きが異なります。右にスワイプしてもApple Music側では何も変わらず、確認済みとしてマークされ、二度と聞かれなくなるだけです。ブックマーク(上にスワイプ)は、後で判断するために曲を保存します。これらの操作はどれも、直近のスワイプに対する「元に戻す」を除けば取り消せません。なぜならどれも破壊的ではなく、すべて追加的な操作だからです。プレイリストへの登録、レーティング、ローカルなフラグにすぎません。

その後、実際に曲を削除するにはどうすればいいのか?

曲をひとまとめに仕分けし終えたら、「SongSweep - Sorted Out」プレイリストはあなたの見直しリストであり、自動的に空になるゴミ箱ではありません。削除は、Apple純正のミュージックアプリの中であなたが意図的に行うステップであり、まさにAppleがその判断をしてほしい場所です。

そのプレイリストを1曲ずつ訪れずに、まとめて大量に削除したい場合は、Apple Musicの曲を一括削除する方法でiPhoneとMacの最速ルートを紹介しています。

  1. ミュージックアプリを開き、「SongSweep - Sorted Out」プレイリストに移動する
  2. iPhoneでは、曲を長押しして「ライブラリから削除」をタップする(1曲ずつ)
  3. Macでは、CmdまたはShiftキーを使ってプレイリスト内の曲を選択し、右クリックして「ライブラリから削除」を選び、確認する
  4. 曲はライブラリから消え、ダウンロード済みのファイルがあれば一緒に削除される

アプリが「削除」をうたうときに注意すべきこと

SongSweepを含め、App Storeのどのアプリも、あなた自身がミュージックアプリで最後のステップを行わない限り、Apple Musicライブラリから曲を削除したり、プレイリストから取り除いたりすることはできません。これはAppleのAPIのハードな制限であり、機能の欠落ではありません。

あるアプリを使っていて、スワイプ後に曲がライブラリから消えたように見えたら、実際に何が起きたのかを確認してください。ほとんどの場合、それはApple Musicライブラリからではなく、そのアプリが作成・管理しているプレイリストから曲が取り除かれただけです。そうした主張を信じる前に、ミュージックアプリでライブラリの曲数を確認しましょう。

この正直さは、重複検出アプリやストレージクリーナー、ワンタップでライブラリを一掃すると謳うものにも同様に当てはまります。クリーンアップアプリが責任を持ってできることの全体像は、Apple Musicライブラリの整理方法から始めるか、SongSweepに戻ってスワイプの流れを自分で試してみてください。