diff --git a/ios/IntercomModule.m b/ios/IntercomModule.m index 5db7318c..4bf5b828 100644 --- a/ios/IntercomModule.m +++ b/ios/IntercomModule.m @@ -82,12 +82,18 @@ - (NSData *)dataFromHexString:(NSString *)string { resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) { @try { + __block BOOL isSettled = NO; NSData *data = [self dataFromHexString:token]; [Intercom setDeviceToken:data failure:^(NSError * _Nullable error) { - reject(SEND_TOKEN_TO_INTERCOM, @"Error in sendTokenToIntercom", error); + if (!isSettled) { + isSettled = YES; + reject(SEND_TOKEN_TO_INTERCOM, @"Error in sendTokenToIntercom", error); + } }]; - - resolve(@(YES)); + if (!isSettled) { + isSettled = YES; + resolve(@(YES)); + } } @catch (NSException *exception) { reject(SEND_TOKEN_TO_INTERCOM, @"Error in sendTokenToIntercom", [self exceptionToError:exception :SEND_TOKEN_TO_INTERCOM :@"sendTokenToIntercom"]); }