Class is implemented in both. One of the two will be used

前端 未结 4 1063
小鲜肉
小鲜肉 2020-12-03 02:31

I have a project that has a dependency (installed via CocoaPods) using SocketRocket and have imported a static library from HeapAnalytics. Apparently the HeapAnalytics libra

相关标签:
4条回答
  • 2020-12-03 03:05

    I wrote that error message!•

    Either change the class name or don't link against said library.

    How is your project configured? Is there anywhere where you explicitly link against SR? Or is it a product of linking against two static libraries that both already include SR?

    If the former, then stop linking against SR directly and just inherit the version that came with the library already using it (warning: make sure it has the right version).

    If the latter, then you are going to have to modify one of the libraries.

    • Actually, I modified the error. It used to imply that one or the other would be used. But that wasn't really what was going on and the behavior was different across different platforms. Thus, it was changed so that it was far more precise in identifying that the behavior was undefined.

    0 讨论(0)
  • 2020-12-03 03:05

    Overview:

    The error suggests that the same symbol / class is defined twice.

    Solution:

    • Check the frameworks linked to see if there are any duplicates. If so remove the duplicate
    • Clean build folder (Command + Shift + K)
    • If simulator, then reset the simulator and try
    • If device, restart the device and try

    My experience:

    I faced the same issue twice, once it was duplicate frameworks and the other time resetting simulator helped.

    0 讨论(0)
  • 2020-12-03 03:07

    In my case this error appeared when I unnecessarily added a source file to both my main app target and my test target:

    Removing the test target from Target Membership solved it:

    0 讨论(0)
  • 2020-12-03 03:10

    I had this warning for more than a month, then I finally tried this and it worked for me:

    1. Reset the simulator (Menu: Hardware -> Erase all content and settings ... )
    2. Clean the project (Command + Shift + K)
    3. Clean the build folder (Command + Option + Shift + K)
    4. Run the code on the simulator again
    0 讨论(0)
提交回复
热议问题