У вас возникли проблемы с примером приложения MusicKit от Apple

Я пытаюсь создать приложение "Добавить контент в Apple Music", образец музыкального набора, предоставленный Apple, на Xcode 9 beta 3. Однако у меня есть 4 ошибки: три "Неоднозначное использование ошибок" play() "и одно" Неоднозначное использование "паузы()"

Скажите, пожалуйста, как это исправить, если вы уже решили эту проблему.

func beginPlayback(itemCollection: MPMediaItemCollection) {
    musicPlayerController.setQueue(with: itemCollection)

    //Ambiguous use of 'play()’
    musicPlayerController.play()
}

func beginPlayback(itemID: String) {
    musicPlayerController.setQueue(with: [itemID])

    //Ambiguous use of 'play()’
    musicPlayerController.play()
}

// MARK: Playback Control Methods

func togglePlayPause() {
    if musicPlayerController.playbackState == .playing {

        //Ambiguous use of 'pause()’
        musicPlayerController.pause()
    } else {

        //Ambiguous use of 'play()’
        musicPlayerController.play()
    }
}

Ответ 1

Я нашел аналогичный вопрос в форумах Apple Dev:

MPMusicPlayerController Swift4 - Неоднозначное использование воспроизведения

В соответствии с записью, в которой написано исправление для решения проблемы, вам нужно изменить эту строку в MusicPlayerManager.swift:

let musicPlayerController = MPMusicPlayerController.systemMusicPlayer

(musicPlayerController type становится MPMusicPlayerController & MPSystemMusicPlayerController с помощью этого кода.)

To:

let musicPlayerController: MPMusicPlayerController = MPMusicPlayerController.systemMusicPlayer

(musicPlayerController явно аннотируется как MPMusicPlayerController.)


По-моему, это ошибка Swift, связанная с SE-0156 Экземпляры класса и подтипа, и вам лучше отправить отчет об ошибке Apple или swift.org.