'''import UIKit
import AVFoundation
class SecondViewController: UIViewController,AVAudioPlayerDelegate {
var timer = Timer() var startTime:Double = 0.0 var audioPlayer: AVAudioPlayer! @IBOutlet weak var label: UILabel! @IBAction func `switch`(_ sender: UISwitch) { if (sender.isOn) { //switchがonならtimer起動 timer = Timer.scheduledTimer(withTimeInterval: 1 * 10, repeats: false, block: { timer in //15分後にtimerの停止を行う timer.invalidate() print("stopped") //15分後にアラーム鳴る self.audioPlayer.play(atTime:1 * 10) }) } else { //offならtimer停止 timer.invalidate() } } override func viewDidLoad() { super.viewDidLoad() if let url=Bundle.main.url(forResource:"1",withExtension:".mp3" ){ //上記の***の箇所でファイル名と拡張子を指定し変数urlに代入します。 do { audioPlayer=try AVAudioPlayer(contentsOf:url) audioPlayer?.play(atTime:1 * 10) //処理が成功したらaudioPlayerに指定したurlを代入し、playメソッドを呼び出します。 }catch{ audioPlayer=nil } }else{ fatalError("Url is nil") //URLが空の場合など処理が走らなかった場合はエラー文を表示します。 } audioPlayer.delegate = (self as AVAudioPlayerDelegate) audioPlayer.prepareToPlay() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. }
}'''
UISwitchを押すと10秒後にアラームが鳴るアプリを作っていますが。実行するとAll outputにstopと表示だけされアラームが鳴りません。色々調べてここまでやっとたどり着きましたがこのままだと完成がいつになるか分からないので皆さんの知恵をお借りできたら幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。