Skip to content

[Bug] iOS project builds/runs OK, but outputs several duplicate class/multiple implementation warnings #221

@tellypresence

Description

@tellypresence

First wanted to thank the team for all the work that's gone into supporting easier integration between kotlin flows and swift async code (and add that there's a good chance the problem I'm having is due to something silly in my environment, so apologies in advance if that's the case)

I followed the instructions in section Option 1: Configure KMP-NativeCoroutines. Installed dependencies for swift Core and Async products via this project using "exact version" of 1.0.0-ALPHA-44.

The iOS app builds and runs OK but leaves a lot of objc warnings in the log e.g.

objc[19614]: Class CMPViewController is implemented in both 
    /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule1.framework/myOtherModule1 (0x11132f810) 
and 
    /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule2.framework/myOtherModule2 (0x10b5073c0). 
This may cause spurious casting failures and mysterious crashes. 
One of the duplicates must be removed or renamed.

The following classes show as duplicates:

CMPViewController
CMPScreenEdgePanGestureRecognizer
CMPMetalDrawablesHandler
CMPPanGestureRecognizer
CMPEditMenuView
CMPInteropWrappingView
CMPDragInteractionProxy
CMPOSLogger
CMPHoverGestureRecognizer
CMPHoverGestureHandler
CMPGestureRecognizer
CMPAccessibilityElement
CMPOSLoggerInterval
CMPDropInteractionProxy
Click to expand "implemented in both" errors
objc[19614]: Class CMPViewController is implemented in both 
    /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule1.framework/myOtherModule1 (0x11132f810) 
and 
    /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule2.framework/myOtherModule2 (0x10b5073c0). 
This may cause spurious casting failures and mysterious crashes. 
One of the duplicates must be removed or renamed.

objc[19614]: Class CMPScreenEdgePanGestureRecognizer is implemented in both 
    /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule1.framework/myOtherModule1 (0x11132f860) 
and 
    /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule2.framework/myOtherModule2 (0x10b507410). 
This may cause spurious casting failures and mysterious crashes. 
One of the duplicates must be removed or renamed.

objc[19614]: Class CMPMetalDrawablesHandler is implemented in both 
    /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule1.framework/myOtherModule1 (0x11132f8b0) 
and 
    /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule2.framework/myOtherModule2 (0x10b507460). 
This may cause spurious casting failures and mysterious crashes. 
One of the duplicates must be removed or renamed.

objc[19614]: Class CMPPanGestureRecognizer is implemented in both /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule1.framework/myOtherModule1 (0x11132f900) and /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule2.framework/myOtherModule2 (0x10b5074b0). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.

objc[19614]: Class CMPEditMenuView is implemented in both /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule1.framework/myOtherModule1 (0x11132f978) and /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule2.framework/myOtherModule2 (0x10b507528). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.

objc[19614]: Class CMPInteropWrappingView is implemented in both /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule1.framework/myOtherModule1 (0x11132f9c8) and /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule2.framework/myOtherModule2 (0x10b507578). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.

objc[19614]: Class CMPDragInteractionProxy is implemented in both /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule1.framework/myOtherModule1 (0x11132fa18) and /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule2.framework/myOtherModule2 (0x10b5075c8). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.

objc[19614]: Class CMPOSLogger is implemented in both /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule1.framework/myOtherModule1 (0x11132fa40) and /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule2.framework/myOtherModule2 (0x10b5075f0). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.

objc[19614]: Class CMPHoverGestureRecognizer is implemented in both /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule1.framework/myOtherModule1 (0x11132fa90) and /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule2.framework/myOtherModule2 (0x10b507640). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.

objc[19614]: Class CMPHoverGestureHandler is implemented in both /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule1.framework/myOtherModule1 (0x11132fae0) and /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule2.framework/myOtherModule2 (0x10b507690). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.

objc[19614]: Class CMPGestureRecognizer is implemented in both /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule1.framework/myOtherModule1 (0x11132fb30) and /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule2.framework/myOtherModule2 (0x10b5076e0). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.

objc[19614]: Class CMPAccessibilityElement is implemented in both /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule1.framework/myOtherModule1 (0x11132fb80) and /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule2.framework/myOtherModule2 (0x10b507730). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.

objc[19614]: Class CMPOSLoggerInterval is implemented in both /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule1.framework/myOtherModule1 (0x11132fbd0) and /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule2.framework/myOtherModule2 (0x10b5077d0). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.

objc[19614]: Class CMPDropInteractionProxy is implemented in both /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule1.framework/myOtherModule1 (0x11132fc48) and /private/var/containers/Bundle/Application/2AEE2084-6528-4230-A230-26751FD6DBE1/myIosApp.app/Frameworks/myOtherModule2.framework/myOtherModule2 (0x10b507848). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.

Also seeing 4 "has multiple implementations" warnings:

Class SkikoUIView has multiple implementations. Which one will be used is undefined.
Class AccessibilityRoot has multiple implementations. Which one will be used is undefined.
Class AccessibilityElement has multiple implementations. Which one will be used is undefined.
Class ComposeHostingViewController has multiple implementations. Which one will be used is undefined.

Any insight or suggestions appreciated, thank you

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions