我在尝试保存播放列表以供离线使用时遇到CocoaLibSpotify问题。
所以我安装了我的应用程序,首次登录,选择一个播放列表并将其设置为脱机使用,立即将其offlineStatus更改为SP_PLAYLIST_OFFLINE_STATUS_DOWNLOADING,播放列表中的所有曲目都将其offlineStatus更改为SP_TRACK_OFFLINE_WAITING,他们开始下载一个一次最终他们的offlineStatus更改为SP_TRACK_OFFLINE_DONE。 我关闭了wifi,我可以离线播放下载的曲目。
当我关闭应用并再次登录时,以前可离线使用的曲目现在将其offlineStatus更改为SP_TRACK_OFFLINE_WAITING,并且无法再脱机播放。 CocoaLibSpotify将下载的播放列表存储在NSCachesDirectory中,如果我检查该文件夹,我发现内容没有改变,并且轨道数据仍在那里。
另一个奇怪的事情,我认为,即使在在线模式下,CocoaLibSpotify也会从设备上播放下载的曲目,如果它可以脱机使用的话。如果我打开wifi并开始播放这些先前下载的SP_TRACK_OFFLINE_WAITING曲目,然后快速关闭wifi,它仍会继续播放整个曲目。
所以从它的外观来看,我假设曲目仍然保持脱机但由于某种原因,他们的offlineStatus在登录时获得了错误的状态。并且会话由于其offlineStatus而拒绝开始播放该曲目。
但是,我怎样才能避免轨道重置offlineStatus,或者至少在我知道已下载轨道时纠正问题。我已尝试手动将offlineStatus设置为SP_TRACK_OFFLINE_DONE,但这不起作用。我希望有人可以对此有所了解。
提前致谢。
答案 0 :(得分:0)
手动设置属性不会影响除UI之外的任何内容。
有几件事需要检查:
当您退出应用程序时,请确保注销([SPSession -logOut]
)并等待注销完成后再让应用程序死亡,否则可能会导致缓存损坏。
当您再次登录时,您是使用CocoaLibSpotify保存的凭据还是再次手动输入密码?如果是后者,它将无法工作,因为库无法联系Spotify服务以验证凭据。使用CocoaLibSpotify的内置凭据保存没有这个问题。