Ios 使用iPhone';s耳机播放暂停按钮以执行代码

Ios 使用iPhone';s耳机播放暂停按钮以执行代码,ios,iphone,swift,remote-control,headphones,Ios,Iphone,Swift,Remote Control,Headphones,在我的应用程序中,用户可以在按下屏幕上的UIButton时向麦克风发出命令(当他再次按下UIButton时,麦克风会停止监听),然后它会执行一些代码(->这是有效的) 当用户按下耳机上的播放/暂停按钮而不是屏幕上的UIButton(他在这个VC上)时,我也会这样做 我已经看过很多关于如何使用iPhone耳机的播放/暂停按钮的教程,但我还没能让它们适合我 我没有抓住按钮的按下,它只是一直播放/暂停我的音乐库中的音乐 目前VC中我有UIButton,这是我添加的代码,但我从未输入remoteCont

在我的应用程序中,用户可以在按下屏幕上的UIButton时向麦克风发出命令(当他再次按下UIButton时,麦克风会停止监听),然后它会执行一些代码(->这是有效的)

当用户按下耳机上的播放/暂停按钮而不是屏幕上的UIButton(他在这个VC上)时,我也会这样做

我已经看过很多关于如何使用iPhone耳机的播放/暂停按钮的教程,但我还没能让它们适合我

我没有抓住按钮的按下,它只是一直播放/暂停我的音乐库中的音乐

目前VC中我有UIButton,这是我添加的代码,但我从未输入remoteControlReceived函数:

override var canBecomeFirstResponder : Bool {
    return true
}

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    self.becomeFirstResponder()
    UIApplication.shared.beginReceivingRemoteControlEvents()
}

override func remoteControlReceived(with event: UIEvent?) {
    if (event?.type == UIEventType.remoteControl) {
        if event?.subtype == UIEventSubtype.remoteControlTogglePlayPause {
            //execute the code ...
        }
    }
}

谢谢你的链接。从我在网站上看到的情况来看,我无法完成我想做的事情?据我所知,耳机按钮仅允许使用媒体播放器功能。对吗?我想执行一个与媒体播放器无关的动作(就像照相机应用程序上的一样:按下音频按钮拍照)。在我的例子中,press audio按钮在我的代码中执行一个函数。这确实确认了它可以完成。除了在obj-C中,它与上面的代码相同。但是我在收到的remoteControlReceived的第一行上放置了一个断点,当我按下任何耳机按钮时,都不会到达这个断点。在我的例子中,UIBackgroundModes在新版本的xcode lplist中被替换为:“必需的背景模式”。我选择了“应用程序与附件通信”,treid也“播放音频…”使用
MPRemoteCommandCenter