その場で MPVolumeView を作成してスライダーを取得し、音量を設定することは、iOS 11.4 では機能しなくなりました。新しい MPVolumeView を UIViewController ビューに追加することで問題を解決しました。そうしないと、ボリュームが設定されませんでした。コントローラーに追加したので、ボリューム ビューの位置を画面の外に設定する必要もあります。
コードはSwift 4にあります:
let volumeControl = MPVolumeView(frame: CGRect(x: 0, y: 0, width: 120, height: 120))
override func viewDidLoad() {
self.view.addSubview(volumeControl);
}
override func viewDidLayoutSubviews() {
volumeControl.frame = CGRect(x: -120, y: -120, width: 100, height: 100);
}
func setMaxVolume() {
let lst = volumeControl.subviews.filter{NSStringFromClass($0.classForCoder) == "MPVolumeSlider"}
let slider = lst.first as? UISlider
slider?.setValue(1, animated: false)
}