Cocoalibspotify,封面艺术不与其余元数据一起加载

Cocoalibspotify,封面艺术不与其余元数据一起加载,spotify,cocoalibspotify-2.0,Spotify,Cocoalibspotify 2.0,在示例项目中,猜一下简介,有一个名为waitAndFillTrackPool的方法,它从用户的播放列表中获取所有曲目。在该方法中,使用SPAsyncLoading调用以获取所有曲目的元数据 [SPAsyncLoading waitUntilLoaded:tracks timeout:kSPAsyncLoadingDefaultTimeout then:^(NSArray *loadedTracks, NSArray *notLoadedTracks) { // All of our

在示例项目中,猜一下简介,有一个名为waitAndFillTrackPool的方法,它从用户的播放列表中获取所有曲目。在该方法中,使用SPAsyncLoading调用以获取所有曲目的元数据

 [SPAsyncLoading waitUntilLoaded:tracks timeout:kSPAsyncLoadingDefaultTimeout then:^(NSArray *loadedTracks, NSArray *notLoadedTracks) { 

   // All of our tracks have loaded their metadata. Hooray!
   NSLog(@"[%@ %@]: %@ of %@ tracks loaded.", NSStringFromClass([self class]), NSStringFromSelector(_cmd),[NSNumber numberWithInteger:loadedTracks.count], [NSNumber numberWithInteger:loadedTracks.count + notLoadedTracks.count]);
如评论所述,成功后,应加载所有曲目的元数据。但是,我无法获取track.album.cover.image(返回null)。所有其他元数据似乎都在那里

为了测试发生了什么,我在加载元数据后添加了以下内容:

 SPTrack *test = [theTrackPool objectAtIndex:0];
 NSLog(@"track: %@ , is loaded: %s, image loaded: %s",test.name,test.loaded ? "true" : "false", test.album.cover.loaded ? "true" : "false");
哪些日志:

 track: Howlin' For You , is loaded: true, image loaded: false
如果应该加载元数据,那么相册封面是否也应该可用

只是为了澄清一下,如果使用播放管理器和键值,我可以得到这首特定曲目的专辑艺术。然而,我确实经历了与中类似的第一个值nil,第二个值correct。也许这是一个类似的错误?如果确实需要重新检查相册艺术,如何设置观察者从一系列曲目中获取相册艺术


谢谢你的时间

这是预期的行为(想象一下,如果在加载播放列表时,我们同时下载了播放列表中所有曲目的coverart,数据量将是惊人的!)


访问
图像
属性将触发要加载的封面,主要用于KVO。您还可以使用
SPAsyncLoading
加载它们

谢谢你的回复!这是有道理的。如果我想通过
SPAsyncLoading
加载它们,我如何获得
SPImages
数组?我尝试创建一个新类,它在所有曲目上循环,并拉出
track.album.cover
,但它不起作用,因为它返回
nil
。我是否需要使用libSpotify线程使用
imageWithImageId:inSession:
?不,在曲目数组上使用
SPAsyncLoading
,然后在加载曲目时执行[[tracks valueForKey:@“album”]valueForKey:@“cover”]来获取封面数组。我尝试了两种不同的方法,但都没有成功。第一种方法是遍历曲目并调用
[aTrack.album.cover-starting]SPAsyncLoading
加载它们之前,请执行code>。我原以为这会成功加载专辑艺术,然后我可以调用你的函数来获取封面。在检查
album.cover.loaded
时,它抛出此错误:“NSInvalidArgumentException”,原因:“-[NSNull isLoaded]”。加载所有曲目后,我还尝试按照您的建议获取专辑封面,并在封面阵列上调用
SPAsyncLoading
。这种方式在调用
SPAsyncloading
时会出现相同的错误。请提供一些代码或psuedo代码,告诉我应该如何执行此操作的确切过程,好吗?我曾尝试在一些曲目上循环,并调用
[覆盖惊人]
尝试使用KVO,但观察者从未收到更改通知。即使等待超过20分钟并手动检查盖子,也返回零。可能有什么东西挡住了装货吗?
是否开始加载
不起作用?感谢您的帮助。
SPImage
根本不是一个复杂的类-只要看看它的代码就可以更好地理解它。另外,请参见我对