Last active
May 16, 2025 04:56
-
-
Save yjb94/d352e167ddb74217e05ac94e2423a499 to your computer and use it in GitHub Desktop.
[@intercom/Intercom-react-native] prevent unhandled setDeviceToken error
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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