MPMusicPlayerControllerMutableQueue вставка песни Apple Music не работает - PullRequest
0 голосов
/ 29 мая 2018

Итак, я пытаюсь использовать API-интерфейсы MusicKit уже несколько дней.Я пытался использовать API-интерфейсы MPMusicPlayerApplicationController и MutableQueue .

Моя очередь уже инициализирована с использованием setQueue(with: [String]) с массивом идентификаторов магазина для песен Apple Music.Затем я хочу разрешить пользователю переупорядочивать песни в очереди.Для этого я использую следующий код.

let musicPlayerController = MPMusicPlayerController.applicationQueuePlayer

musicPlayerController.perform(queueTransaction: { queue in 

  let afterItem = queue.items.first(where: { $0.playbackStoreID == predecessorId })
  let descriptor = MPMusicPlayerStoreQueueDescriptor(storeIDs: [newItemId])
  queue.insert(descriptor, after: afterItem)

}) { (queue, error) in

  // Completion for when items' position update
  if error != nil {
    print(error!)
  }
}

Приведенный выше код работает, как и ожидалось, если afterItem равен нулю (т.е. песня правильно вставлена ​​в начало очереди).Однако, если afterItem не равно нулю, ничего не происходит.Очередь остается такой же, как если бы не было вставки, и в обработчике завершения не было ошибок.Эта проблема возникает независимо от того, находится ли вставленная песня уже в очереди или нет.

Я пытаюсь изменить очередь неправильно?

...