Hi!
We’re experiencing a non negligible amount of crashes with our iOS app. We’re using the Intercom iOS SDK v18.2.0 (AKA the latest). As far as we can see, the user goes into the intercom integration, and at some point it crashes.
Here is the crash-logs from Sentry:
OS Version: iOS 18.0.1 (22A3370)
Report Version: 104
Exception Type: EXC_CRASH (SIGABRT)
Crashed Thread: 0
Application Specific Information:
Expected dequeued view to be returned to the collection view in preparation for display. When the collection view's data source is asked to provide a view for a given index path, ensure that a single view is dequeued and returned to the collection view. Avoid dequeuing views without a request from the collection view. For retrieving an existing view in the collection view, use -[UICollectionView cellForItemAtIndexPath:] or -[UICollectionView supplementaryViewForElementKind:atIndexPath:]. Dequeued view: <IntercomSDK_ITBBlockCollectionViewCell: 0x1224ccc00; baseClass = UICollectionViewCell; frame = (24 2331; 318 239); backgroundColor = UIExtendedGrayColorSpace 0 0; layer = <CALayer: 0x303e84f00>>; Collection view: <UICollectionView: 0x107734e00; frame = (0 0; 366 438.667); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x3030acd20>; backgroundColor = UIExtendedGrayColorSpace 0 0; layer = <CALayer: 0x303eb2a60>; contentOffset: {0, 1571.6666666666667}; contentSize: {366, 4007}; adjustedContentInset: {0, 0, 0, 0}; layout: <UICollectionViewFlowLayout: 0x122545680>; dataSource: <IntercomSDK_ITBBlockListViewController: 0x10c561400>>
Thread 0 Crashed:
0 CoreFoundation 0x30dfc608c __exceptionPreprocess
1 libobjc.A.dylib 0x3086372e0 objc_exception_throw
2 Foundation 0x30bfca158 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:]
3 UIKitCore 0x3138c8d40 __43-[UICollectionView _updateVisibleCellsNow:]_block_invoke.498
4 UIKitCore 0x3140021e0 -[_UICollectionViewSubviewManager removeAllDequeuedViewsWithEnumerator:]
5 UIKitCore 0x313090ca8 -[UICollectionView _updateVisibleCellsNow:]
6 UIKitCore 0x312fc259c -[UICollectionView _setupCellAnimations]
7 UIKitCore 0x312f51b9c -[UICollectionView _updateRowsAtIndexPaths:updateAction:updates:]
8 UIKitCore 0x3132e4180 -[UICollectionView reloadItemsAtIndexPaths:]
9 Intercom 0x103d68400 -[IntercomSDK_ITBBlockListViewController reloadRequiredForBlock:]
10 Intercom 0x103d6dea4 -[IntercomSDK_ITBImageBlockView adjustBlockSizeForImage:]
11 Intercom 0x103d6ebc0 __43-[IntercomSDK_ITBImageBlockView loadImage:]_block_invoke.61
12 Intercom 0x103d64584 -[IntercomSDK_ITBAnimatedImageView loadImageWithURLString:actionsBeforeNetworkLoad:completion:animationOptions:]
13 Intercom 0x103d6e9e8 -[IntercomSDK_ITBImageBlockView loadImage:]
14 Intercom 0x103d6f0ac -[IntercomSDK_ITBImageBlockView configureWithBlock:]
15 Intercom 0x103d67858 -[IntercomSDK_ITBBlockCollectionViewCell configureWithBlock:]
16 Intercom 0x103d6816c -[IntercomSDK_ITBBlockListViewController collectionView:cellForItemAtIndexPath:]
17 UIKitCore 0x312f63de0 __112-[UICollectionView _createPreparedCellForItemAtIndexPath:withLayoutAttributes:applyAttributes:isFocused:notify:]_block_invoke
18 UIKitCore 0x312f625f8 +[UIView(Animation) performWithoutAnimation:]
19 UIKitCore 0x31315bb44 -[UICollectionView _createPreparedCellForItemAtIndexPath:withLayoutAttributes:applyAttributes:isFocused:notify:]
20 UIKitCore 0x3138c68fc -[UICollectionView _prefetchItemsForPrefetchingContext:]
21 UIKitCore 0x3131ea440 -[UICollectionView _updatePrefetchedCells:]
22 UIKitCore 0x3138c8174 -[UICollectionView _updateCycleIdleUntil:]
23 UIKitCore 0x313c91194 ___UIUpdateCycleNotifyIdle_block_invoke
24 libdispatch.dylib 0x31d93636c _dispatch_call_block_and_release
25 libdispatch.dylib 0x31d9380cc _dispatch_client_callout
26 libdispatch.dylib 0x31d9469dc _dispatch_main_queue_drain
27 libdispatch.dylib 0x31d9465f8 _dispatch_main_queue_callback_4CF
28 CoreFoundation 0x30df98f60 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
29 CoreFoundation 0x30df96184 __CFRunLoopRun
30 CoreFoundation 0x30df955b4 CFRunLoopRunSpecific
31 GraphicsServices 0x3a55131c0 GSEventRunModal
32 UIKitCore 0x3132b62bc -[UIApplication _run]
33 UIKitCore 0x313364dd8 UIApplicationMain
34 Poka 0x20226a33c main (main.m:16)
35 <unknown> 0x1b09d8d34 <redacted>