Очень просто, подумал я .... Я хочу записать файл, который контролируется AlertControllers. Смотрите код ниже. Проблема в том, что оповещения не отображаются. Попробовал использовать диспетчеризацию в основную очередь и т.д ...
ОК, новые правки такие же, но обработчик завершения выполняется. Я удалил семафор, надеясь, что он не нужен.
func record_file(file:String, start_title: String, start_message: String, stop_title: String, stop_message: String, cancel:Bool=false, sender:Any)
{
//let semaphore = DispatchSemaphore(value: 0)
let rec1_alert = UIAlertController(title: stop_title, message: stop_message, preferredStyle: UIAlertControllerStyle.alert)
let stop_rec1_alert = UIAlertController(title: stop_title, message: stop_message, preferredStyle: UIAlertControllerStyle.alert)
let stop_rec1_action = UIAlertAction(title: stop_title, style: .default, handler: nil)
let action = UIAlertAction(title: start_title, style: .default, handler:nil)
rec1_alert.addAction(action)
self.present(rec1_alert, animated: true, completion:
{
self.player.startRecording(filename: (file as NSString).lastPathComponent as String)
stop_rec1_alert.addAction(stop_rec1_action)
self.present(stop_rec1_alert, animated: true, completion: {
self.player.finishRecording()
//semaphore.signal()
})
})
}