アラームアプリを作っていて、セットした時間になった時にはしっかり音がなってくれます。その後、アラームを止める、つまりaudioPlayerをstopするボタンを押すと、Thread 1: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional valueと出ます。
nilではないはずなのに出てしまいます。
写真は、エラーが出ているところの写真です。
以下のコードはAlarmというクラスで、音源をセットしているところのコードになっています。
解決策や考えられる理由をお願いいたします。
(質問に不十分な部分があれば、情報追加しますので、何が足りないか教えていただけると助かります。)
swift
1@objc private func updateTimer(){ 2 if seconds != 0{ 3 seconds -= 1 4 } else { 5 //elseはsleepTimer == 0 6 //タイマーを止める。 7 sleepTimer?.invalidate() 8 sleepTimer = nil 9 do { 10 let soundName: String = "port1" 11 let type: String! = "mp3" 12 let soundFilePath = Bundle.main.path(forResource: soundName, ofType: type)! 13 14 let fileURL = URL(fileURLWithPath: soundFilePath) 15 16 audioPlayer = try AVAudioPlayer(contentsOf: fileURL) 17 try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default, options: []) 18 try AVAudioSession.sharedInstance().setActive(true) 19 } catch { 20 print("could not load file") 21 } 22 23 audioPlayer.play() 24 } 25 }