1

我正在尝试在 Xcode 9 beta 3 上构建 Apple 提供的 Music Kit 示例应用程序“向 Apple Music 添加内容”。但是我遇到了 4 个这样的错误:三个“不明确地使用 'play()'”错误和一个“'pause()' 的模糊使用”

如果您已经解决了这个问题,请告诉我如何解决这个问题。

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()
    }
}
4

1 回答 1

1

我在 Apple 的开发者论坛中发现了一个类似的问题:

MPMusicPlayerController Swift4 - 使用不明确的播放

根据编写解决此问题的修复程序的条目,您需要在 MusicPlayerManager.swift 中更改此行:

let musicPlayerController = MPMusicPlayerController.systemMusicPlayer

(musicPlayerController的类型变成MPMusicPlayerController & MPSystemMusicPlayerController了这个代码。)

至:

let musicPlayerController: MPMusicPlayerController = MPMusicPlayerController.systemMusicPlayer

musicPlayerController被明确注释为MPMusicPlayerController。)


在我看来,这是一个与SE-0156 类和子类型存在相关的 Swift 错误,您最好向Appleswift.org发送错误报告。

于 2017-07-13T13:14:01.513 回答