从 MPMediaItems 获取 iCloud 状态信息
Posted
技术标签:
【中文标题】从 MPMediaItems 获取 iCloud 状态信息【英文标题】:Getting iCloud status information from MPMediaItems 【发布时间】:2012-01-06 19:06:47 【问题描述】:NSURL *assetURL = [mediaItem valueForProperty:MPMediaItemPropertyAssetURL];
NSNumber *percent = nil;
NSError *error = nil;
[assetURL getResourceValue:&percent forKey:NSURLUbiquitousItemPercentDownloadedKey error:&error];
return [percent unsignedIntValue];
在这段代码中,调用 getResouceValue:forKey:error: 后 'percent' 和 'error' 均为 nil:
我错过了什么吗?
【问题讨论】:
【参考方案1】:根据您的MPMediaItem
,它甚至可能没有有效的MPMediaItemPropertyAssetURL
——任何 DRM 的媒体(例如旧的 DRM 的 .m4p 音乐文件,或来自 iTunes 的 DRM 的“电视节目”视频) 来自“iPod 库”没有定义 AssetURL。
除此之外,我对 iCloud 的东西还没有太多经验,只是问你是否确定甚至可以在 MPMediaItem
s 上查看此类信息,因为它们在技术上并不存在于你的应用的沙盒?
另外,您是否设置了应用程序的 iCloud 权利? Apple Doc: Configuring Your App’s iCloud Entitlements
【讨论】:
我不确定这是否可能,但我在文档中找不到太多关于在云中使用 MPMediaItems 的信息,除了您可以通过告诉 MPMusicPlayerController 来触发下载播放它们。 抱歉,我帮不上忙。我想我建议首先验证您从第一行代码中获得了非零 *assetURL。 添加了一些关于 iCloud 权利的 Apple 文档的编辑 感谢您的帮助。玩过之后发现,如果项目在云端或正在下载,assetURL 为 nil,完全下载后非 nil。以上是关于从 MPMediaItems 获取 iCloud 状态信息的主要内容,如果未能解决你的问题,请参考以下文章
是否可以使用 CloudKit 从 iCloud 驱动器获取数据