IOS 10 将 MPNowPlayingInfoPropertyPlaybackRate 设置为 0 会使锁定屏幕空白

IOS 10 setting MPNowPlayingInfoPropertyPlaybackRate to 0 blanks the lock screen

在iOS7-9中您可以将MPNowPlayingInfoPropertyPlaybackRate设置为0来设置在锁屏上显示暂停。但是在 iOS 10 上它只显示一个空白屏幕。如何显示播放器在 iOS 10 暂停?

我认为您注意到的差异可能取决于您的应用在您锁定屏幕时是否确实在播放。如果它正在播放,那么您可以在锁定屏幕中切换播放和暂停,并且锁定屏幕不会变为空白。您必须修改现有的正在播放信息,暂停时,您必须提供当前时间:

    let mpic = MPNowPlayingInfoCenter.default()
    if var d = mpic.nowPlayingInfo {
        d[MPNowPlayingInfoPropertyPlaybackRate] = 0
        d[MPNowPlayingInfoPropertyElapsedPlaybackTime] = p.currentTime
        mpic.nowPlayingInfo = d
    }

这里有一些屏幕截图(来自模拟器)显示这是可行的。

这是我的应用程序播放时的锁定屏幕:

这是我点击暂停按钮时的锁定屏幕:

你可以看到它没有变成空白。

经过一些测试,这似乎是 iOS 中的错误 - 如果控制中心正确显示信息而锁定屏幕错误,则这是系统错误。

如果有人知道一些解决方法,我会将问题保留一段时间,之后我会将其标记为确定的答案。

编辑:正如 Matt 所建议的那样,这就是 iOS 的行为方式,并且以前似乎也是如此,但我没有注意到这一点。从我的角度来看,这是一个错误,我仍在寻找可能的解决方法。