xcode error My app crashes when closing the screen with AVKit. The problem occurs both on a physical device and on the simulator. On the simulator, it happens rarely, but on an iPhone, the app crashes every time.
My code consists of initializing a player with a URL, initializing playerLayer, and player.play(). How can I fix this issue?
My code:
Presenter
<code>init(hdUrl: URL) {
player = AVPlayer(url: hdUrl)
}
deinit {
player?.pause()
player = nil
}
</code>
<code>init(hdUrl: URL) {
player = AVPlayer(url: hdUrl)
}
deinit {
player?.pause()
player = nil
}
</code>
init(hdUrl: URL) {
player = AVPlayer(url: hdUrl)
}
deinit {
player?.pause()
player = nil
}
ViewController
<code>override func viewDidLoad() {
super.viewDidLoad()
playerLayer = AVPlayerLayer(player: presenter?.player)
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
playerLayer?.player?.play()
}
deinit {
playerLayer?.player = nil
playerLayer?.removeFromSuperlayer()
playerLayer = nil
}
</code>
<code>override func viewDidLoad() {
super.viewDidLoad()
playerLayer = AVPlayerLayer(player: presenter?.player)
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
playerLayer?.player?.play()
}
deinit {
playerLayer?.player = nil
playerLayer?.removeFromSuperlayer()
playerLayer = nil
}
</code>
override func viewDidLoad() {
super.viewDidLoad()
playerLayer = AVPlayerLayer(player: presenter?.player)
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
playerLayer?.player?.play()
}
deinit {
playerLayer?.player = nil
playerLayer?.removeFromSuperlayer()
playerLayer = nil
}
I’ve already tried the following solutions:
In deinit
<code>player = nil
playerLayer?.player = nil
playerLayer?.removeFromSuperlayer()
playerLayer = nil
</code>
<code>player = nil
playerLayer?.player = nil
playerLayer?.removeFromSuperlayer()
playerLayer = nil
</code>
player = nil
playerLayer?.player = nil
playerLayer?.removeFromSuperlayer()
playerLayer = nil
I’ve deleted a lot of code, so right now its just player and playerLayer. Without slider, start/stop button, seek buttons
1