小编And*_*ers的帖子

初始化MPVolumeView会导致iOS 11 beta 3上的应用程序崩溃

从iOS 11的第3版开始,我的应用程序在初始化用于AirPlay的MPVolumeView时开始崩溃.以下代码在早期版本的iOS和iOS 11 beta 1和2上运行得非常好.

func setupAirplayButton() {
    let rect = CGRect(x: -1000, y: -1000, width: 10, height: 10)
    volumeView = MPVolumeView(frame: rect) //app crashes here
    volumeView.showsVolumeSlider = false
    volumeView.setRouteButtonImage(nil, for: .normal)
    volumeView.translatesAutoresizingMaskIntoConstraints = false
    volumeView.isHidden = true

    if let airplayButton = volumeView.subviews.filter({$0 is UIButton }).first as? UIButton {
        self.airplayButton = airplayButton
        self.airplayButton?.addObserver(self, forKeyPath: "alpha", options: [.initial, .new], context: nil)
    }

    NotificationCenter.default.addObserver(self, selector: #selector(wirelessRouteActiveChanged), name: NSNotification.Name.MPVolumeViewWirelessRouteActiveDidChange, object: nil)

    myView.addSubview(volumeView)
}
Run Code Online (Sandbox Code Playgroud)

还有其他人遇到过同样的问题吗?

编辑:

崩溃日志

Exception Type:  EXC_CRASH (SIGTRAP)
Exception Codes: 0x0000000000000000, …
Run Code Online (Sandbox Code Playgroud)

ios airplay mpvolumeview ios11 xcode9-beta

6
推荐指数
1
解决办法
1062
查看次数

标签 统计

airplay ×1

ios ×1

ios11 ×1

mpvolumeview ×1

xcode9-beta ×1