Загруженный элемент в медиатеке iTunes все еще отображается как облачный элемент в моем приложении - PullRequest
0 голосов
/ 27 ноября 2018

В моем приложении есть пользовательская музыкальная библиотека, которая представлена ​​в виде списка дорожек библиотеки iTunes.Я получаю их с помощью MPMediaQuery:

let mediaQuery = MPMediaQuery.songs()
guard let songItems = mediaQuery?.items else { return [] }

Я делаю это каждый раз, когда открывается мой пользовательский вид библиотеки.Элементы, защищенные DRM или хранящиеся в облаке, не могут быть выбраны.Моя проблема в следующем сценарии:

  1. Откройте мое приложение и загрузите все песни из iTunes.Есть несколько треков с флагом «isCloudItem» = true.
  2. Перейдите в собственное приложение iOS Music и загрузите любой облачный элемент из моей библиотеки.
  3. Перейдите в мое приложение и получите все элементы песен с iPodМедиатека снова.Найдите трек из шага 2 -> его значение bool isCloudItem все еще имеет значение true и по-прежнему не может быть выбрано.

Если я перезапущу свое приложение, трек, начиная с шага 2, теперь будет показан как загруженный.

Есть ли способ получить загруженный на шаге 2 элемент со значением "isCloudItem" bool = false на шаге 3?

...