なぜアプリはApple Musicの曲を削除できないのか?
すべてのサードパーティ製Apple Musicアプリの土台であるAppleのMusicKitフレームワークには、ライブラリから曲を削除したり、プレイリストからトラックを取り除いたりする機能がありません。これはバグでも見落としでもなく、意図的な線引きです。Appleはアプリにライブラリの読み取り、曲の追加、プレイリストの作成と追加、ラブや「あまり提案しない」といったレーティングの設定、そして再生を許可しています。しかし、すでにそこにあるものを削除・除去・編集することは、外部のどのアプリにも許可していません。これはユーザーを守るための仕組みでもあります。サードパーティアプリのバグが、何年分ものライブラリを黙って消し去ることがないようにしているのです。つまり「ライブラリを整理する」「掃除する」とうたうアプリはすべて、実際には同じ3つのことをしているにすぎません。プレイリストに曲を集める、レーティングを調整する、確認済みのリストを自分のアプリ内で保持する、の3つです。実際の削除は今もApple純正のミュージックアプリの中で行われ、最終的にはあなた自身が確認します。
「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の最速ルートを紹介しています。
- ミュージックアプリを開き、「SongSweep - Sorted Out」プレイリストに移動する
- iPhoneでは、曲を長押しして「ライブラリから削除」をタップする(1曲ずつ)
- Macでは、CmdまたはShiftキーを使ってプレイリスト内の曲を選択し、右クリックして「ライブラリから削除」を選び、確認する
- 曲はライブラリから消え、ダウンロード済みのファイルがあれば一緒に削除される
アプリが「削除」をうたうときに注意すべきこと
SongSweepを含め、App Storeのどのアプリも、あなた自身がミュージックアプリで最後のステップを行わない限り、Apple Musicライブラリから曲を削除したり、プレイリストから取り除いたりすることはできません。これはAppleのAPIのハードな制限であり、機能の欠落ではありません。
あるアプリを使っていて、スワイプ後に曲がライブラリから消えたように見えたら、実際に何が起きたのかを確認してください。ほとんどの場合、それはApple Musicライブラリからではなく、そのアプリが作成・管理しているプレイリストから曲が取り除かれただけです。そうした主張を信じる前に、ミュージックアプリでライブラリの曲数を確認しましょう。
この正直さは、重複検出アプリやストレージクリーナー、ワンタップでライブラリを一掃すると謳うものにも同様に当てはまります。クリーンアップアプリが責任を持ってできることの全体像は、Apple Musicライブラリの整理方法から始めるか、SongSweepに戻ってスワイプの流れを自分で試してみてください。
よくある質問
どんなアプリでもApple Musicライブラリから曲を削除できますか?
できません。AppleのMusicKitフレームワークは、サードパーティアプリに曲を削除したりプレイリストから取り除いたりする機能を提供していません。そのステップは必ず自分でミュージックアプリの中で行います。
なぜアプリは曲を追加できるのに削除できないのですか?
曲を追加したりプレイリストを作成したりするのは追加的な操作で、何も破壊しません。削除は破壊的な操作なので、Appleはその権限を自社のミュージックアプリの中に留め、不具合のあるサードパーティアプリがライブラリを一掃してしまわないようにしています。
「あまり提案しない」は曲を削除しますか?
いいえ、Apple Musicがあなたにおすすめする内容が変わるだけです。曲はライブラリの中に元のまま残り、「あまり提案しない」はアルゴリズムにその曲や似た曲をあまり表示しないよう伝えるだけです。
「SongSweep - Sorted Out」プレイリストの曲を一度も削除しなかったらどうなりますか?
特に問題はありません。それはライブラリ内の通常のプレイリストとしていつでも見直せる状態のままです。SongSweepが自動で曲を取り除くことはないので、あなた自身がミュージックアプリで曲を削除するまで、これは恒久的な見直しリストとして機能します。
将来、Appleがアプリ向けの削除APIを追加する可能性はありますか?
可能性はあります。AppleはMusicKitを時間をかけて更新し続けています。しかし本稿執筆時点では、サードパーティアプリ向けの削除機能は存在しません。実現すればSongSweepはその日から使うつもりですが、それまではミュージックアプリだけが曲を削除できる場所です。