当媒体项上缺少请求的属性时,我遇到了崩溃 ( EXC_BAD_ACCESS
) 。MPMediaItem.enumerateValues
崩溃发生在swift_getObjectType
我可以通过对属性使用单独的访问器来解决这个问题,但 Apple 表示enumerateValues
访问多个属性时会更快。
有没有人在使用时能够处理这个问题enumerateValues
?
(XCode 13.1,iOS 14.8)
func EnumerateValuesCrash() {
let propertiesSet: Set<String> = [
MPMediaItemPropertyTitle,
MPMediaItemPropertyArtist
]
let query = MPMediaQuery.songs()
if let items = query.items {
let mediaCollection = MPMediaItemCollection(items: items)
for song in mediaCollection.items {
song.enumerateValues(forProperties: propertiesSet, using: {_,_,_ in })
}
}
}