В моем приложении есть пользовательская музыкальная библиотека, которая представлена в виде списка дорожек библиотеки iTunes.Я получаю их с помощью MPMediaQuery:
let mediaQuery = MPMediaQuery.songs()
guard let songItems = mediaQuery?.items else { return [] }
Я делаю это каждый раз, когда открывается мой пользовательский вид библиотеки.Элементы, защищенные DRM или хранящиеся в облаке, не могут быть выбраны.Моя проблема в следующем сценарии:
- Откройте мое приложение и загрузите все песни из iTunes.Есть несколько треков с флагом «isCloudItem» = true.
- Перейдите в собственное приложение iOS Music и загрузите любой облачный элемент из моей библиотеки.
- Перейдите в мое приложение и получите все элементы песен с iPodМедиатека снова.Найдите трек из шага 2 -> его значение bool isCloudItem все еще имеет значение true и по-прежнему не может быть выбрано.
Если я перезапущу свое приложение, трек, начиная с шага 2, теперь будет показан как загруженный.
Есть ли способ получить загруженный на шаге 2 элемент со значением "isCloudItem" bool = false на шаге 3?