Answered

iOS SDK 16.5.5 crash on startup NSInvalidArgumentException +[ICMBridge startMonitoringCrashes]: unrecognized selector sent to class 0x10748b618

  • 15 February 2024
  • 7 replies
  • 166 views

iOS SDK version 16.5.5

Crash on startup with the message:

NSInvalidArgumentException 

+[ICMBridge startMonitoringCrashes]: unrecognized selector sent to class 0x10748b618

We’re unable to reproduce this issue, but we see in Crashlytics that 2% of our users experience this issue.

icon

Best answer by Ebenezer.Laleye 21 February 2024, 17:12

View original

7 replies

Userlevel 1
Badge +2

Hi @Aleksandr Anosov! Ebenezer here from Engineering Support👋.

Thanks for reporting this! I can see that you’ve chatted with my teammate Joseph in Support and you were able to find a workaround.  He’ll send your feedback to the relevant team and get back to you if there are any updates.

 

What was the fix? @Ebenezer.Laleye  @Aleksandr Anosov 
On 16.5.8 still getting this
 

 

For us, it was unrelated to the Sentry integration, because after getting rid of Sentry the issue was still there. However, we found a workaround by delaying any calls to Intercom SDK classes from ’didFinishLaunching’ to the point of ‘viewDidLoad’ of the initial screens. But the cause of this is still unknown to us.

Thanks, will give that a shot @Aleksandr Anosov  

@Ebenezer.Laleye We are also facing this issue and there seems to have been a few reports of the same / similar on the community forum.

 

Why do you reply to each of them with “I can see that you’ve chatted with my teammate Joseph in Support”? Why do you not provide the solution in the thread?
 

How do we go about contacting ‘Joseph in Support’ so we can obtain the secret solution?

 

Temporary worked around it with a delay, since with react native viewDidLoad was not an option. 1 Second was not enough 

 

  dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

    [IntercomModule initialize:@"ios_sdk-asd" withAppId:@"asdf"];

});

 

Removed: [IntercomModule setDeviceToken:deviceToken];  and call it on RN side instead, otherwise it also needs a timeout. 

@Filipe Fernandes Thank you! Using a delay seems like an unfortunate hack - was it suggested as a solution by Intercom?

Reply