내 iPod Touch에서 모든 재생 목록 모음을 요청하는 쿼리를 인스턴스화했습니다. MPMediaQuery 컬렉션 속성에서 반환 된 결과에는 43 개의 항목이 포함되어 있습니다. 여기에는 기본 뮤직 앱에 표시되는 17 개의 PlayLists가 모두 포함됩니다. 그러나 컬렉션에는 26 개의 "재생 목록"이 포함되어 있습니다. 실제로는 내 iPod 라이브러리의 앨범입니다. 그것은 iPod에있는 앨범 중 일부 (전부는 아님)를 나타냅니다.재생 목록 (iPod)의 MPMediaQuery에는 일부 앨범이 포함되어 있습니다.
실제 재생 목록과 앨범을 구별 할 수있는 MPMediaPlaylist 속성이 있는지 확인하려고했습니다. 아무런 효과가 없습니다. 컬렉션의 섹션을보고 실제 재생 목록이 앨범과 별도 섹션에 보관되어 있는지 확인했지만 단 하나의 섹션 만있었습니다. 마지막으로 앨범에 PersistantID가 있는지 살펴 보았습니다. 설명서에는 재생 목록에 고유 한 것으로 나와 있습니다. 배열의 모든 항목에는 PersistantID가 있습니다.
음악 앱에는 17 개의 실제 재생 목록 만 표시되므로 별다른 문제가 없습니다. 여기
MPMediaQuery * myPlaylistsQuery = [ MPMediaQuery playlistsQuery ];
NSArray * playlists = [ myPlaylistsQuery collections ];
은 "재생 목록"배열의 내용을 심문 할 때 기록됩니다 데이터의 샘플입니다 :
는 ======= 여기에 쿼리를 작성하는 데 사용되는 코드는 =============================================
재생
는 .... 플레이리스트 수집 섹션 01있다
.... 플레이리스트 컬렉션
바흐
.... Persi 43 MPMediaPlaylist 개체있다 stant ID : 사이먼과 가펑클
....들이 지속적인 ID 최고의
17,002,820,337,772,537,981 : 2965021518813542622
블루
....들이 지속적인 ID : 11,514,004,552,991,695,558
블루스
....들이 지속적인 ID : 14,243,796,139,384,893,728
. ... (기타)
위 목록에서 "Bach", "Simon and Garfunkel Best"및 "Blue"항목은 앨범을 나타냅니다. "Blues"항목은 iTunes에서 내가 정의한 진정한 재생 목록 중 첫 번째 항목입니다.
나는 재생 목록 쿼리에서 반환 된 항목을 앨범 쿼리의 항목과 비교하고 일치 항목을 제거 할 수 있다고 가정합니다. 더 간단한 해결책이 있습니까?
안녕하세요, Miho, 답장을 보내 주셔서 감사합니다. 다른 사람들이 문제없이 [[[MPMediaQuery playListQuery] collections]를 사용하고 있다는 것을 아는 것은 매우 유용합니다.당신이 추천 하듯이, 나는 쿼리를위한'groupingType'을 체크했고 그것이 MPMediaGroupingPlaylist임을 가리키는 값 6을 얻었다. 매개 변수를 추가하거나 제거하면 쿼리를 변경할 수 있다는 귀하의 요점은 좋은 것입니다. 그러나 첫 번째 게시물에 표시된 두 줄의 코드는 내 코드에서 실행되는 처음 두 줄 ("주"외부)입니다. API 또는 iTunes 버그가 발생하지 않을 것이라는 데 동의하지만 그럴듯한 옵션이 부족합니다. - 조지 – user2121934