rns-nativecall 1.3.5 → 1.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/ios/CallModule.m +31 -3
  2. package/package.json +1 -1
package/ios/CallModule.m CHANGED
@@ -163,19 +163,47 @@ RCT_EXPORT_METHOD(checkCallStatus:(NSString *)uuidString
163
163
  }
164
164
 
165
165
  // MARK: - CXProviderDelegate
166
+ - (void)bringAppToForeground {
167
+ if (@available(iOS 13.0, *)) {
168
+ dispatch_async(dispatch_get_main_queue(), ^{
169
+ for (UIScene *scene in [UIApplication sharedApplication].connectedScenes) {
170
+ if (![scene isKindOfClass:[UIWindowScene class]]) continue;
171
+
172
+ if (scene.activationState == UISceneActivationStateForegroundActive) {
173
+ return;
174
+ }
175
+
176
+ [[UIApplication sharedApplication]
177
+ requestSceneSessionActivation:scene.session
178
+ userActivity:nil
179
+ options:nil
180
+ errorHandler:^(NSError *error) {
181
+ NSLog(@"[CallModule] Scene activation failed: %@", error);
182
+ }];
183
+ return;
184
+ }
185
+ });
186
+ }
187
+ }
188
+
166
189
 
167
190
  - (void)provider:(CXProvider *)provider performAnswerCallAction:(CXAnswerCallAction *)action {
168
191
  [action fulfill];
192
+
169
193
  NSString *uuidStr = [action.callUUID.UUIDString lowercaseString];
170
194
  self.pendingCallUuid = uuidStr;
171
195
 
196
+ // 🔑 Force app UI to foreground FIRST
197
+ [self bringAppToForeground];
198
+
172
199
  dispatch_async(dispatch_get_main_queue(), ^{
173
- UIWindow *window = [self getActiveWindow];
174
- if (window) [window makeKeyAndVisible];
175
- [self sendEventWithName:@"onCallAccepted" body:@{@"callUuid": uuidStr}];
200
+ [self sendEventWithName:@"onCallAccepted"
201
+ body:@{@"callUuid": uuidStr}];
176
202
  });
177
203
  }
178
204
 
205
+
206
+
179
207
  - (void)provider:(CXProvider *)provider performEndCallAction:(CXEndCallAction *)action {
180
208
  [action fulfill];
181
209
  self.isCallActive = NO;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rns-nativecall",
3
- "version": "1.3.5",
3
+ "version": "1.3.6",
4
4
  "description": "High-performance React Native module for handling native VoIP call UI on Android and iOS.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",