如何从 assetURL!.absoluteString 创建 MPMediaItem?

How to create MPMediaItem from assetURL!.absoluteString?

我将 (mediaItemCollection.items.first?.assetURL!.absoluteString) 作为字符串保存到本地 SQLite 数据库。 现在我想从保存的字符串创建 MPMediaItem 对象,即 assetURL!.absoluteString,是否可以从其 assesURL 创建 MPMediaItem 对象?如果不可能,那么我应该将什么保存到 SQLite DB,以便我可以从保存的 属性 中创建 MPMediaItem 对象?

我已经从@user28434 的建议中找到了解决方案。

我正在将 persistentID 作为字符串保存到 SQLite 数据库

 let songItem = mediaItemCollection.representativeItem!
 let persistantID = String(songItem.persistentID)

从这个 persistentID 我可以使用 MPMediaQuery 创建 MPMediaItem 对象,同时从数据库中获取存储的 persistentID

按照以下方式创建 MPMediaItem 对象。

 let noCloudPre = MPMediaPropertyPredicate(value: NSNumber(booleanLiteral: false),
                                              forProperty: MPMediaItemPropertyIsCloudItem)

    func getSongItem(persistantID: String) -> MPMediaItem?{
        let songQuery = MPMediaQuery.songs()
        songQuery.addFilterPredicate(noCloudPre)
        songQuery.addFilterPredicate(MPMediaPropertyPredicate(value: persistantID,
                                    forProperty: MPMediaItemPropertyPersistentID,
                                    comparisonType: MPMediaPredicateComparison.equalTo))
        return songQuery.items?[0]
    }