必须返回MPRemoteCommandHandlerStatus或将完成处理程序作为第二个参数

8
这是我在代码中所做的事情:
commandCenter.pauseCommand.addTarget(self, action: #selector(pause))

@objc private func pause() {
    player?.pause()
    playButton.setImage(UIImage(named: "icon-play")?.alwaysTemplate, for: .normal)
    delegate?.playerViewDidPause()
}

当我运行应用程序时,出现以下错误:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',原因是:不支持的操作方法签名。必须返回MPRemoteCommandHandlerStatus或将完成处理程序作为第二个参数。

1个回答

9
您应该像这样修改您的方法:
@objc private func pause() -> MPRemoteCommandHandlerStatus {
    player?.pause()
    playButton.setImage(UIImage(named: "icon-play")?.alwaysTemplate, for: .normal)
    delegate?.playerViewDidPause()
    return .success
}

一切都会像魔法一样正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接