Запрос iOS через альбом MPMediaEntityPersistentID иногда не возвращает никаких песен
Я пишу приложение, которое воспроизводит музыку, используя встроенную в Apple библиотеку MediaPlayer. Я храню массив альбомов и массив идентификаторов, а затем, когда один из них выбран, я ищу альбом, используя идентификатор. По некоторым причинам, некоторые из альбомов не могут найти песни, несмотря на то, что с ними связан идентификатор. Каждый раз это одни и те же альбомы, которые не будут работать, и, похоже, в этом нет никакой закономерности.
Я использую следующий код для хранения имен и идентификаторов в двух массивах
let query = MPMediaQuery.albumsQuery()
let mediaCollection = MPMediaItemCollection(items: query.items!)
for album in mediaCollection.items {
albumTitleArray.append(album.albumTitle!)
albumIdArray.append(album.albumPersistentID)
}
Когда один из них выбран, я передаю идентификатор методу queryMedia
func queryMedia(identifier:MPMediaEntityPersistentID) -> MPMediaItemCollection {
let predicateId = MPMediaPropertyPredicate(value: String(identifier), forProperty: MPMediaItemPropertyAlbumPersistentID, comparisonType:MPMediaPredicateComparison.EqualTo)
let query = MPMediaQuery.init()
query.addFilterPredicate(predicateId)
let collection = MPMediaItemCollection(items: query.items!)
return collection;
}
Любая помощь в решении этого будет принята с благодарностью!