Ios CocoaLibSpotify在登录期间将脱机可用曲目重置为SP_TRACK_offline_等待

Ios CocoaLibSpotify在登录期间将脱机可用曲目重置为SP_TRACK_offline_等待,ios,spotify,Ios,Spotify,当我试图保存播放列表以供脱机使用时,CocoaLibSpotify出现问题 因此,我安装了我的应用程序,第一次登录,选择一个播放列表并将其设置为脱机使用,其脱机状态立即更改为SP_playlist_offline_STATUS_DOWNLOADING,播放列表中的所有曲目的脱机状态更改为SP_TRACK_offline_WAITING,他们开始一次下载一个,最终离线状态更改为SP_TRACK_OFFLINE_DONE。 我关闭wifi,可以离线播放下载的曲目 当我关闭应用程序并再次登录时,以前脱

当我试图保存播放列表以供脱机使用时,CocoaLibSpotify出现问题

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

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

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

因此,从外观上看,我假设这些曲目仍然保持脱机状态,但由于某些原因,它们的脱机状态在登录时得到了错误的状态。由于离线状态,会话拒绝开始播放该曲目

但是如何避免曲目离线状态重置,或者至少在知道曲目已下载时纠正问题。我尝试将脱机状态设置为SP_TRACK_OFFLINE_手动完成,但没有成功。我希望有人能对此有所了解


提前感谢。

手动设置属性只会影响您的UI

有几件事需要检查:

退出应用程序时,请确保注销[SPSSession-logout],并等待注销完成,然后再让应用程序退出,否则可能会导致缓存损坏

当您再次登录时,您是使用CocoaLibSpotify保存的凭据还是再次手动输入密码?如果是后者,它将无法工作,因为库无法联系Spotify服务来验证凭据。使用CocoaLibSpotify的内置凭证保存没有这个问题


嗨,谢谢你的回复。我在查看示例应用程序时尝试了您的建议。在示例中,在applicationWillTerminate中调用[SPSession logout],根据我的经验,即使在info.plist中使用应用程序应获取App dead events标志,也很少调用它。我尝试先使用attemptLoginWithStoredCredentials登录,然后将username、password和MemberCredentials设置为YES。现在,我已经尝试了示例中的LoginViewController,但到目前为止,它没有任何区别。事实上,现在有时候这些曲目甚至无法开始下载。啊,对了,我错过了iOS标志。另一种策略是在ApplicationIdentinterBackground.上使用[SPSSession flushCaches:。您好,很抱歉再次发表评论。我已经尝试将[SPSSession logout]放在ApplicationIdentinterBackground中进行测试。到目前为止,它还可以工作,现在当我登录时,我可以始终使用存储的凭据登录,并且脱机可用的曲目仍然可用。然而,有时我仍然会遇到这样的问题:我将播放列表设置为脱机使用,其状态立即更改为脱机状态。\u是的,所有曲目的状态都更改为脱机状态,\u等待,并且根本不开始下载。我有没有办法强迫CocoaLibSpotify开始同步?[SPSSession flushCaches]似乎和[SPSSession logout]一样好。我仍然有一个问题,有时下载拒绝启动,但再次登录,设置播放列表的离线状态关闭,然后再次打开似乎可以解决它。非常感谢。