The latest Intercom iOS SDK version (15.0.0) has an integration of the Lottie Animation framework.
This dependency seems integrated statically.
Unfortunately if the host app also integrates Lottie, we now are flooded with following warnings from the System when running the app:
objc: Class _TtC6Lottie14AnimatedButton is implemented in both /Users/username/Library/Developer/CoreSimulator/Devices/BFEE2DFC-C11E-470B-B711-48A3266380E2/data/Containers/Bundle/Application/B04B0D15-DDBA-4889-BE53-1EB98904A186/HOSTAPP.app/Frameworks/Lottie.framework/Lottie (0x1055dc0b0) and /Users/username/Library/Developer/CoreSimulator/Devices/BFEE2DFC-C11E-470B-B711-48A3266380E2/data/Containers/Bundle/Application/B04B0D15-DDBA-4889-BE53-1EB98904A186/HOSTAPP.app/Frameworks/Intercom.framework/Intercom (0x104d407e0). One of the two will be used. Which one is undefined.
(One of each for each Lottie class)
It is too risky for us to go to production with the version 15.0.0 of the Intercom SDK so we are rolling back to 14.1.0.
The solutions on your side to avoid the problem are:
- Integrate Lottie as a proper external dependency (in the Podspec for example).
- Rename all Lottie classes so that they don’t conflict with the host app Lottie classes
- Remove the Lottie integration
Best answer by Paul M11View original