以编程方式访问 iCloud 音乐库下载和 iCloud 状态

Posted

技术标签:

【中文标题】以编程方式访问 iCloud 音乐库下载和 iCloud 状态【英文标题】:Access iCloud Music Library download and iCloud status programmatically 【发布时间】:2017-09-21 21:08:36 【问题描述】:

可以从MPMediaLibrary - MPMediaItemProperty 或其他来源以编程方式访问iCloud download status 吗?

我们想检测歌曲的来源,以便我们知道它是来自 Apple Music (DRM)、使用 iTunes Match(不是 DRM)匹配、购买还是只是从翻录的 CD 上传等等。

文档About iCloud Music Library icons and status 描述了Media Library 中文件的下载图标和状态,并在Mac 上的iTunes 中查看它们,但找不到在应用程序中获取此状态信息的方法。

【问题讨论】:

看起来这可以从 iTunes Music Library.xml 访问。找到<key>Playlists</key>,并在其下方为每个轨道分配 ID。然后找到<key>Name</key><string>Downloaded</string>。下面是每个下载曲目的 ID。 您找到解决方案了吗?我的搜索一无所获。我正在考虑打开一个 API 请求来获取此信息。 不,我们还没有找到如何做到这一点。 如果您只想检查歌曲是否受 DRM 保护,可以使用 MPMediaItem 的 hasProtectedAsset 属性。 【参考方案1】:

您可以使用MPMediaItem 属性 - isCloudItem 检查下载状态,使用hasProtectedAsset 检查 DRM 保护。

See MPMediaItem docs

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于以编程方式访问 iCloud 音乐库下载和 iCloud 状态的主要内容,如果未能解决你的问题,请参考以下文章

iCloud API 是不是允许从 iOS 访问音乐库?

iOS:以编程方式阻止 iCloud 备份

ios icloud 在设备中以编程方式设置开/关

以编程方式从 icloud 获取 ics 文件?

(iCloud) 如何以编程方式备份​​/恢复 iTunes 等所有应用程序的数据?

如何以编程方式将音乐从 pc 同步到 iphone 音乐库? [关闭]