0

尝试保存播放列表以供离线使用时,我遇到了 CocoaLibSpotify 问题。

所以我安装了我的应用程序,第一次登录,选择一个播放列表并将其设置为离线使用,它的offlineStatus立即更改为SP_PLAYLIST_OFFLINE_STATUS_DOWNLOADING,播放列表中的所有曲目的offlineStatus都更改为SP_TRACK_OFFLINE_WAITING,他们开始一次下载一个最终他们的离线状态更改为 SP_TRACK_OFFLINE_DONE。我关掉了我的wifi,我可以离线播放下载的曲目。

当我关闭应用程序并再次登录时,之前离线可用的曲目现在的离线状态更改为 SP_TRACK_OFFLINE_WAITING 并且无法再离线播放。CocoaLibSpotify 将下载的播放列表存储在 NSCachesDirectory 中,如果我检查该文件夹,我发现内容没有更改并且曲目数据仍然存在。

另一个奇怪的事情是,我认为即使在在线模式下,如果离线可用,CocoaLibSpotify 也会播放从设备下载的曲目。如果我打开 wifi 并开始播放这些以前下载的 SP_TRACK_OFFLINE_WAITING 曲目,然后快速关闭 wifi,它仍然会继续播放整个曲目。

因此,从外观上看,我假设曲目仍处于脱机状态,但由于某种原因,它们的脱机状态在登录时会出现错误的状态。会话由于其脱机状态而拒绝开始播放曲目。

但是,我怎样才能避免曲目的 offlineStatus 重置,或者至少在我知道曲目已下载时纠正问题。我尝试手动将 offlineStatus 设置为 SP_TRACK_OFFLINE_DONE ,但这没有用。我希望有人可以对此有所了解。

提前致谢。

4

1 回答 1

0

手动设置该属性不会影响您的 UI 以外的任何内容。

有几件事需要检查:

  • 当您退出应用程序时,请确保您注销 ( [SPSession -logOut]) 并等到注销完成后再让应用程序死掉,否则您可能会得到一个损坏的缓存。

  • When you log back in again, are you using CocoaLibSpotify's saved credentials or manually entering your password again? If it's the latter, it won't work since the library can't contact the Spotify service to verify the credentials. Using CocoaLibSpotify's built-in credential saving doesn't have this problem.

于 2012-04-27T21:18:46.673 回答