プレイリストをオフラインで使用するために保存しようとすると、CocoaLibSpotify で問題が発生します。
アプリをインストールし、初めてログインし、プレイリストを選択してオフラインで使用するように設定すると、すぐにその offlineStatus が SP_PLAYLIST_OFFLINE_STATUS_DOWNLOADING に変更され、プレイリスト内のすべてのトラックの offlineStatus が SP_TRACK_OFFLINE_WAITING に変更され、一度に 1 つずつダウンロードが開始されます。そして最終的にそれらの offlineStatus は SP_TRACK_OFFLINE_DONE に変わります。Wi-Fi をオフにすると、ダウンロードしたトラックをオフラインで再生できます。
アプリを閉じて再度ログインすると、以前はオフラインで利用できたトラックの offlineStatus が SP_TRACK_OFFLINE_WAITING に変更され、オフラインで再生できなくなりました。CocoaLibSpotify は、ダウンロードしたプレイリストを NSCachesDirectory に保存します。そのフォルダーを確認すると、コンテンツが変更されておらず、トラック データがまだそこにあることがわかります。
もう 1 つの奇妙な点として、オンライン モードであっても、CocoaLibSpotify はデバイスからダウンロードしたトラックがオフラインで利用可能であれば再生すると思います。Wi-Fi をオンにして、以前にダウンロードした SP_TRACK_OFFLINE_WAITING トラックの再生を開始し、すぐに Wi-Fi をオフにしても、引き続きトラック全体が再生されます。
見た目から、トラックはまだオフラインのままであると想定していますが、何らかの理由で、ログイン時にそれらの offlineStatus が間違ったステータスになります。また、offlineStatus が原因で、セッションがトラックの再生を開始することを拒否します。
しかし、どうすればトラックの offlineStatus がリセットされるのを回避できますか、または少なくとも、トラックがダウンロードされたことがわかっているときに問題を修正できますか? offlineStatus を手動で SP_TRACK_OFFLINE_DONE に設定しようとしましたが、うまくいきませんでした。誰かがこれに光を当ててくれることを願っています。
前もって感謝します。