Skip to content

Instantly share code, notes, and snippets.

@yjb94
Last active May 16, 2025 04:56
Show Gist options
  • Save yjb94/d352e167ddb74217e05ac94e2423a499 to your computer and use it in GitHub Desktop.
Save yjb94/d352e167ddb74217e05ac94e2423a499 to your computer and use it in GitHub Desktop.
[@intercom/Intercom-react-native] prevent unhandled setDeviceToken error
diff --git a/node_modules/@intercom/intercom-react-native/ios/IntercomModule.m b/node_modules/@intercom/intercom-react-native/ios/IntercomModule.m
index 5db7318..bfca3ef 100644
--- a/node_modules/@intercom/intercom-react-native/ios/IntercomModule.m
+++ b/node_modules/@intercom/intercom-react-native/ios/IntercomModule.m
@@ -82,12 +82,19 @@ RCT_EXPORT_METHOD(sendTokenToIntercom:(NSString *)token
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"]);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment