Мне нужно запустить этот код при запуске моего приложения, чтобы определить, имеет ли приложение разрешение и, если да, запустить весь код конфигурации.
if !cameraManager.hasPermissionForVideo {
performSegue(withIdentifier: "presentPermissions", sender: nil)
} else {
do {
try cameraManager.configureSession()
} catch {
// FIXME: import AlertableError and alert Error
print(error)
fatalError()
}
cameraManager.configureViewAsPreviewView(view: self.previewView)
}
Если я запускаю его в viewDidLoad (), переход выполняется слишком рано (представляемый ViewController отсутствует в иерархии представлений) в соответствии с этим ответом . Но если я запускаю его из viewDidAppear () (что решило бы проблему), я каждый раз запускал бы код конфигурации, чтобы появилось представление. Как я могу это исправить?