iOS 11中,在我锁定iPhone时,我的音乐应用程序将显示锁定屏幕控件。我能够看到当前播放的歌曲以及播放/暂停跳过向前和向后。然而在升级到Xcode 10/iOS 12后,我无法再看到锁定屏幕控件,只能看到日期和时间...
但是,如果我向上滑动并获得小部件屏幕(可以打开飞行模式等),我可以看到正在播放的信息。
这是我现在拥有的
在背景模式下
我已更新我的代码如下:
在viewDidLoad
中调用
do {
try AVAudioSession.sharedInstance().setCategory(.soloAmbient, mode: .default, options: .allowAirPlay)
print("Playback OK")
try AVAudioSession.sharedInstance().setActive(true)
print("Session is Active")
} catch {
print(error)
}
UIApplication.shared.beginReceivingRemoteControlEvents()
self.becomeFirstResponder()
在上一个工作版本中,我没有以下代码,但是我添加了它,因为我发现类似的帖子建议我这样做。
if let songInfo = self.mediaPlayer.nowPlayingItem {
nowPlayingInfoCenter.nowPlayingInfo = [
MPMediaItemPropertyTitle: songInfo.title ?? "",
MPMediaItemPropertyArtist: songInfo.artist ?? "",
MPMediaItemPropertyArtwork : songInfo.artwork?.image(at: CGSize(width: 400, height: 400)) ?? #imageLiteral(resourceName: "emptyArtworkImage")]
}
我在do try
上设置了断点,但它没有打印任何一个打印函数,并跳过了try
部分。
我是不是将我的代码转换错误了?
canBecomeFirstResponder
。 - matt