Swift MPMediaPropertyPredicateでIsCloudItemをFilter

MPMediaPropertyPredicate
iPhone本体にある曲を対象
let iCloudFilter = MPMediaPropertyPredicate(value: false,
forProperty: MPMediaItemPropertyIsCloudItem,
comparisonType: .equalTo)
MPMediaQuery.albums()
var mediaQuery = MPMediaQuery.albums() mediaQuery.addFilterPredicate(iCloudFilter) var albumCollections = self.mediaQuery!.collections!
albumCollectionsにはクラウド上にある曲は入っていない。
MPMediaQuery.albums()
var mediaQuery = MPMediaQuery.playlists() mediaQuery.addFilterPredicate(iCloudFilter) var playlistsCollections = self.mediaQuery!.collections!
playlistsCollectionsにはクラウド上にある曲も入っている。
プリリストは絞り込めないようだ。
代替え案は、絞らないで取得して、コレクション内の代表Itemを個別にチェックしてフィルタリングする。
playlistsCollections
.filter({ collection in
var result = false
if settingData.iCloud == true {
result = collection.representativeItem?.isCloudItem == true
}
return result
})





