Answered

The iOS intercom SDK (14.0.6) crashes whenever I try to present it using default present() method or present(.home) method. If I use present(.messages) it works fine. Previous versions of Intercom worked fine. Is this a known issue?

  • 3 February 2023
  • 3 replies
  • 513 views

Also tested with all versions from 14.0.0 and they all crash when trying to present the Messenger.

It crashes even when launched from the Intercom launcher.

Note: the view controllers are loaded from individual XIB files and not from a storyboard.

 

The SDK was installed through Swift SPM.

 

*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<IntercomSDKPrivate.HomeHeaderViewController 0x11df35780> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key chatButton.'

 

The weird thing is that we don't have a HomeHeaderViewController but our button is named 'chatButton' from where we launch intercom. If I rename chatButton to 'helpButton' the message will change to:

*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<IntercomSDKPrivate.HomeHeaderViewController 0x109bd9d80> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key helpButton.'

Is there something that I need to do differently? If I use: Intercom.present(.messages) it does not crash..

 

The same happens also on iOS 15.5:

2023-02-03 18:08:09.610648+0200 EZReceipts[88600:27397556] [Assert] Setting modalPresentationStyle once presentationController has been accessed will have no effect until <ICMMessengerNavigationController: 0x10eb00c80> is presented, dismissed, and presented again.

2023-02-03 18:08:09.656648+0200 EZReceipts[88600:27397556] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<IntercomSDKPrivate.HomeHeaderViewController 0x12724f180> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key chatButton.'

*** First throw call stack:

(

0 CoreFoundation           0x00000001803f3d70 __exceptionPreprocess + 236

1 libobjc.A.dylib          0x000000018019814c objc_exception_throw + 56

2 CoreFoundation           0x00000001803f3a20 -[NSException init] + 0

3 Foundation             0x000000018079da04 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 312

4 UIKitCore             0x00000001846308dc -[UIViewController setValue:forKey:] + 80

5 UIKitCore             0x000000018498a95c -[UIRuntimeOutletConnection connect] + 124

6 CoreFoundation           0x00000001803dd278 -[NSArray makeObjectsPerformSelector:] + 236

7 UIKitCore             0x00000001849816e8 -[UINib instantiateWithOwner:options:] + 1896

8 UIKitCore             0x00000001846381bc -[UIViewController loadView] + 572

9 UIKitCore             0x0000000184638548 -[UIViewController loadViewIfRequired] + 172

10 UIKitCore             0x0000000184638c64 -[UIViewController view] + 28

11 Intercom              0x000000010bf074bc shouldRenderOnNewLine + 1274856

12 Intercom              0x000000010bf03998 shouldRenderOnNewLine + 1259716

13 Intercom              0x000000010bf04d98 shouldRenderOnNewLine + 1264836

14 UIKitCore             0x00000001846342ec -[UIViewController _sendViewDidLoadWithAppearanceProxyObjectTaggingEnabled] + 104

15 UIKitCore             0x0000000184638898 -[UIViewController loadViewIfRequired] + 1020

16 UIKitCore             0x0000000184572730 -[UINavigationController _updateScrollViewFromViewController:toViewController:] + 172

17 UIKitCore             0x0000000184572a48 -[UINavigationController _startTransition:fromViewController:toViewController:] + 192

18 UIKitCore             0x0000000184573938 -[UINavigationController _startDeferredTransitionIfNeeded:] + 864

19 UIKitCore             0x0000000184574c88 -[UINavigationController __viewWillLayoutSubviews] + 164

20 UIKitCore             0x00000001845558b8 -[UILayoutContainerView layoutSubviews] + 224

21 UIKitCore             0x0000000184569ee0 __53-[UINavigationController setNeedsDeferredTransition:]_block_invoke + 52

22 UIKitCore             0x0000000185294438 -[_UIAfterCACommitBlock run] + 64

23 UIKitCore             0x000000018529490c -[_UIAfterCACommitQueue flush] + 188

24 libclang_rt.asan_iossim_dynamic.dyl 0x000000010aa1874c __wrap_dispatch_async_block_invoke + 188

25 libdispatch.dylib         0x000000010a6c033c _dispatch_call_block_and_release + 24

26 libdispatch.dylib         0x000000010a6c1b94 _dispatch_client_callout + 16

27 libdispatch.dylib         0x000000010a6d0650 _dispatch_main_queue_drain + 1064

28 libdispatch.dylib         0x000000010a6d0218 _dispatch_main_queue_callback_4CF + 40

29 CoreFoundation           0x0000000180361c2c __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12

30 CoreFoundation           0x000000018035c0b0 __CFRunLoopRun + 2432

31 CoreFoundation           0x000000018035b218 CFRunLoopRunSpecific + 572

32 GraphicsServices          0x000000018c25f60c GSEventRunModal + 160

33 UIKitCore             0x0000000184d88a98 -[UIApplication _run] + 992

34 UIKitCore             0x0000000184d8d634 UIApplicationMain + 112

35 EZReceipts             0x0000000104e6c580 main + 248

36 dyld                0x000000010a37dcd8 start_sim + 20

37 ???                0x000000010a40d08c 0x0 + 4466987148

38 ???                0xef51800000000000 0x0 + 17244705185666695168

)

libc++abi: terminating with uncaught exception of type NSException

 



icon

Best answer by Brian B11 23 June 2023, 16:43

View original

3 replies

Userlevel 2

Hey @horatiu​! Daniel from Customer Support Engineering here 🔧 

 

Could you please contact us via the Messenger regarding this issue? It seems we could either be dealing with a bug or something we need to update in our documentation, and it would be super helpful for tracking the issue. Thank you!

Hi! Is there any updates about this? I’m seeing the same crash when updating to 14.0.7

Userlevel 2
Badge +2

Hi, thanks for reporting this issue.

This has been fixed in Release 15.0.1 of the iOS SDK.

Reply