diff --git a/ios/RCCManagerModule.m b/ios/RCCManagerModule.m index 86aa9eeb9cb..4d4d1b87f65 100755 --- a/ios/RCCManagerModule.m +++ b/ios/RCCManagerModule.m @@ -151,7 +151,10 @@ -(void)dismissAllModalPresenters:(NSMutableArray*)allPresentedViewControllers re { counter++; - [[RCCManager sharedIntance] unregisterController:viewController]; + if ([self viewControllerIsModal:viewController]) { + [[RCCManager sharedIntance] unregisterController:viewController]; + } + if (viewController.presentedViewController != nil) { dispatch_semaphore_t dismiss_sema = dispatch_semaphore_create(0); diff --git a/src/deprecated/platformSpecificDeprecated.ios.js b/src/deprecated/platformSpecificDeprecated.ios.js index 3affba63284..e754bab169a 100644 --- a/src/deprecated/platformSpecificDeprecated.ios.js +++ b/src/deprecated/platformSpecificDeprecated.ios.js @@ -543,8 +543,8 @@ async function dismissModal(params) { return await Modal.dismissController(params.animationType); } -function dismissAllModals(params) { - Modal.dismissAllControllers(params.animationType); +async function dismissAllModals(params) { + return await Modal.dismissAllControllers(params.animationType); } function showLightBox(params) {