99#import " IntercomWrapper.h"
1010#import " IntercomUserAttributesBuilder.h"
1111#import < Intercom/Intercom.h>
12+ #import < React/RCTUtils.h>
13+ #import < React/RCTUtilsUIOverride.h>
1214
1315@implementation IntercomWrapper
1416
@@ -103,6 +105,9 @@ @implementation IntercomWrapper
103105// Available as NativeModules.IntercomWrapper.displayMessenger
104106RCT_EXPORT_METHOD (displayMessenger :(RCTPromiseResolveBlock)resolve :(RCTPromiseRejectBlock)reject) {
105107 NSLog (@" displayMessenger" );
108+
109+ UIViewController *controller = RCTPresentedViewController ();
110+ [RCTUtilsUIOverride setPresentedViewController: controller];
106111
107112 dispatch_async (dispatch_get_main_queue (), ^{
108113 [Intercom presentMessenger ];
@@ -125,6 +130,9 @@ @implementation IntercomWrapper
125130// Available as NativeModules.IntercomWrapper.displayMessageComposer
126131RCT_EXPORT_METHOD (displayMessageComposer :(RCTPromiseResolveBlock)resolve :(RCTPromiseRejectBlock)reject) {
127132 NSLog (@" displayMessageComposer" );
133+
134+ UIViewController *controller = RCTPresentedViewController ();
135+ [RCTUtilsUIOverride setPresentedViewController: controller];
128136
129137 dispatch_async (dispatch_get_main_queue (), ^{
130138 [Intercom presentMessageComposer ];
@@ -135,6 +143,9 @@ @implementation IntercomWrapper
135143
136144RCT_EXPORT_METHOD (displayMessageComposerWithInitialMessage:(NSString *)message resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
137145 NSLog (@" displayMessageComposerWithInitialMessage" );
146+
147+ UIViewController *controller = RCTPresentedViewController ();
148+ [RCTUtilsUIOverride setPresentedViewController: controller];
138149
139150 dispatch_async (dispatch_get_main_queue (), ^{
140151 [Intercom presentMessageComposerWithInitialMessage: message];
@@ -146,6 +157,9 @@ @implementation IntercomWrapper
146157// Available as NativeModules.IntercomWrapper.displayConversationsList
147158RCT_EXPORT_METHOD (displayConversationsList :(RCTPromiseResolveBlock)resolve :(RCTPromiseRejectBlock)reject) {
148159 NSLog (@" displayConversationsList" );
160+
161+ UIViewController *controller = RCTPresentedViewController ();
162+ [RCTUtilsUIOverride setPresentedViewController: controller];
149163
150164 dispatch_async (dispatch_get_main_queue (), ^{
151165 [Intercom presentConversationList ];
@@ -166,6 +180,9 @@ @implementation IntercomWrapper
166180// Available as NativeModules.IntercomWrapper.displayHelpCenter
167181RCT_EXPORT_METHOD (displayHelpCenter :(RCTPromiseResolveBlock)resolve :(RCTPromiseRejectBlock)reject) {
168182 NSLog (@" displayHelpCenter" );
183+
184+ UIViewController *controller = RCTPresentedViewController ();
185+ [RCTUtilsUIOverride setPresentedViewController: controller];
169186
170187 dispatch_async (dispatch_get_main_queue (), ^{
171188 [Intercom presentHelpCenter ];
0 commit comments