When i simply put @Environment(\.scenePhase) private var scenePhase into the view where .JMModal is used or in a parent view .JMModal(showModal: $showModal, for: [.camera, .microphone, .calendarFull], autoDismiss: true, onAppear: {print("JMModal Appeared")}, onDisappear: {print("JMModal Disappeared")}) Then JMModal does not get the authorization status anymore and never disappears automatically.