現在、Walking PlayerのiOS7フラットGUI対応版を開発中ですが、そんな中で標準のミュージックアプリの不具合を見つけましたので、まとめておきます。
特別な条件での問題ですが、奇妙な動作でお困りの方がいたら、本記事が参考になれば幸いです。
【問題発生条件】
私のミュージックライブラリには、以下の「BJ Special Track」というアルバムが入っています。
このアルバムが他とちょっと変わっているのは、アルバム内に複数のジャンルが混在して入っているという点です。通常、1つのアルバム内の曲は全て同じジャンルの曲です。問題が発生するのは、このように1つのアルバム内に複数のジャンルがある場合です。
(このアルバムは、確か昔、何かのパソコンかアプリの中に無料でサンプルとして入っていたもので、もしかすると結構多くの人が無意識に持っているかもしれません)
【問題発生操作】
ミュージックアプリを一旦停止/再起動後、[ジャンル]-[エスニック]と選ぶと、以下の画面のように[BJ Special Track]というアルバムの中でエスニックジャンルである[BJ Special -Ethnic-]という曲だけが絞り込んで表示されます。これは正しい表示です。(「5曲、1分」と表示されていて、再生時間は1曲分なのに曲数はアルバム全体の5曲になっているのはおかしいと思いますが、これはたいした問題ではなく今回の問題とは別の話なので目をつぶることにします。)
続いて、[アルバム]-[BJ Special Track]を選ぶと、以下の画面のように[BJ Special -Ethnic-]という曲だけ表示され、他の曲が表示されません。
この画面はジャンルで絞ってないのだから、このアルバムに入っている5曲を全部表示しないと、これではアルバム内の全ての曲が聞けなくなってしまいます。
次に、もう一度ミュージックアプリを停止/再起動後、[アルバム]-[BJ Special Track]を選ぶと、今度は以下の画面のように5曲全てが表示されます。これが正しい表示です。
しかし、続いて[ジャンル]-[エスニック]を選ぶと、以下の画面のようにジャンルで絞られないで5曲全部表示されてしまいます。
実はこれはiOS7上のWalking Player v1.02でも同じ問題が発生します。(iOS6.1では、標準のミュージックアプリもWalking Playerもこの問題は発生しません。)
【回避方法】
とりあえずアプリを再起動したら、どちらか先にアクセスした方は正しく表示されます。
【今後の対応予定】
上記の現象をWalking Playerの動作確認で調査したところ、iOS7のミュージックライブラリアクセスAPIに問題があることまで判っているので、別途Appleにバグレポートしておく予定です。ただ、特別な条件での問題なので、すぐには直してくれないかもしれません。