Skip to main content

We’re experiencing a slow launch time in our SwiftUI app, about 35% of the slow launch time is caused by Intercom initialization. 

 

The stack trace indicates that multiple functions within the Intercom SDK, especially the initialization processes involving IMCCrashHandler, IMCConfig, HomeConfig, and HomeHeader, are contributing significantly to app launch latency. The UIKitCore and CoreImage components (like UIGraphicsImageRenderer and CIImage) invoked through ICAssets.backgroundImageViewWith also add processing overhead, which may impact the performance during launch.

Here is the full stack trace given by XCodes tools:

dyld start

1. App.main() - SwiftUI
2. AppDelegate.application(_:didFinishLaunchingWithOptions:) - SwiftUI
3. IMCCrashHandler swizzleDidFinishLaunchingWithOptions - Intercom
└ IMCCrashHandler sharedConfig - Intercom
4. IntercomSDK_SentrySDK startWithConfigureOptions - Intercom
5. IMCCrashHandler configureTags - Intercom
6. IMCConfig sharedConfig - Intercom
7. IMCConfig configFromDisk - Intercom
8. IMCPersistenceProxy unarchiveObjectWithFile - Intercom
└ NSKeyedUnarchiver unarchivedObjectOfClass:fromData:error: - Foundation
9. ConfigModules.init(coder:) - Intercom
10. HomeConfig.init(coder:) - Intercom
11. HomeHeader.init(coder:) - Intercom
12. HomeHeaderBackground.init(coder:) - Intercom
13. ICAssets.backgroundImageViewWith(L:) - Intercom
14. UIGraphicsImageRenderer imageWithActions - UIKitCore
15. CIImage imageByApplyingGaussianBlurWithSigma - CoreImage

We are using version 18.2.0 of the library.

Be the first to reply!

Reply