From 296ec6383ae0dbd696e186b74840d6855a164b4b Mon Sep 17 00:00:00 2001 From: Elliot Mawby Date: Wed, 11 Sep 2024 09:37:32 -0700 Subject: [PATCH] Pausing IAMs now dismisses any currently showing IAM Tested that queued IAMs don't show and that lifecycle callback listeners fire. --- .../Controller/OSMessagingController.m | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/iOS_SDK/OneSignalSDK/OneSignalInAppMessages/Controller/OSMessagingController.m b/iOS_SDK/OneSignalSDK/OneSignalInAppMessages/Controller/OSMessagingController.m index 47bc312ff..d8418d5ed 100644 --- a/iOS_SDK/OneSignalSDK/OneSignalInAppMessages/Controller/OSMessagingController.m +++ b/iOS_SDK/OneSignalSDK/OneSignalInAppMessages/Controller/OSMessagingController.m @@ -177,8 +177,13 @@ - (void)setInAppMessagingPaused:(BOOL)pause { _isInAppMessagingPaused = pause; // If IAM are not paused, try to evaluate and show IAMs - if (!pause) + if (!pause) { [self evaluateMessages]; + } else if (self.isInAppMessageShowing) { + dispatch_async(dispatch_get_main_queue(), ^{ + [self.viewController dismissCurrentInAppMessage]; + }); + } } + (BOOL)doesDeviceSupportIAM {