0

プレイリストをオフラインで使用するために保存しようとすると、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 に設定しようとしましたが、うまくいきませんでした。誰かがこれに光を当ててくれることを願っています。

前もって感謝します。

4

1 に答える 1

0

プロパティを手動で設定しても、UI 以外には影響しません。

確認すべき点がいくつかあります。

  • アプリケーションを終了するときは、必ずログアウト ( [SPSession -logOut]) し、ログアウトが完了するまで待ってからアプリケーションを停止してください。そうしないと、キャッシュが破損する可能性があります。

  • 再度ログインするとき、CocoaLibSpotify の保存された資格情報を使用していますか、それとも手動でパスワードを再入力していますか? 後者の場合、ライブラリが Spotify サービスに接続して資格情報を確認できないため、機能しません。CocoaLibSpotify の組み込みの資格情報の保存を使用すると、この問題は発生しません。

于 2012-04-27T21:18:46.673 に答える