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 })