当按资产url添加addFilterPredicate时,MPMediaQuery将引发exception

我试图通过使用歌曲url来查询歌曲标题。 url是ipod-library://item/item.mp3?id= format

 let predicate = MPMediaPropertyPredicate(value:url, forProperty:MPMediaItemPropertyAssetURL, comparisonType:.equalTo) let query = MPMediaQuery.songs(); query.addFilterPredicate(predicate) for song in query.items! { print(song.title) } 

碰撞:

 *** Assertion failure in -[ML3ComparisonPredicate valueToBindForOperation:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/MusicLibrary/MusicLibrary-4015.200.4/MusicLibrary/Framework/Queries/ML3Predicate.m:610 Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '' 

find这个答案,但不明白为什么我应该使用硬编码的数字,如果有一个特定的MPMediaItemPropertyAssetURL