Linker command failed with exit code 1 - duplicate

2020-02-08 06:50发布

问题:

Since I've updated to Xcode 8.1 I can't archive and also not run in Release mode (in debug mode its working). The error is that there are several "duplicate symbols for architecture arm64" and all are "duplicate symbol __TMRbBp". Whats that?

回答1:

It seems to be a bug in Swift. See discussion on Apple developers portal

It is said to be fixed in Xcode version that is about to be released. But for now there is temporary workaround:

Go to your target Build Settings and set Reflection Metadata Level flag to None



回答2:

Don't double click Project.xcodeproj to start your xcode project. Instead, close your project and open the xcworkspace.

File -> Close Workspace

File -> Open -> Search your project folder for Project.xcworkspace

All my errors are gone.



回答3:

I faced the same problem with archiving on Xcode 8.1.

X Code Version: Version 8.2.1 (8C1002)

The following fix worked on Mar 2019

1) Go to Project & Select your Project

2) Select Build Settings -

Search for "Enable Bitcode" Set option as "NO"

3) Most of version will fix this issue, for few other XCode version try this option also,

Search for "Reflection Metadata Level" Set option as "NONE"



回答4:

I had similar issues with Version 9.2 (9C40b), the solution is

0) Close Xcode
1) Open project folder in terminal
2) pod update
3) open .
4) open project by clicking Project.xcworkspace


回答5:

Surprisingly, in some occasions, simply cleaning the product worked for me.

  • Product/Clean (Shift+Cmd+K)
  • Product/Clean Build Folder (Alt+Shift+Cmd+K)

Quick fix to try before looking at other solutions.



回答6:

1.Close your project:Completely quit Xcode. 2.Go to your project location:there you will find two files in you root folder with varying extensions: Appname.xcodeproj and Appname.xcworkspace

Now open your project by Double clicking on file with the extensions xcworkspace.(***Appname.xcworkspace*)**

Yourproject will open in xcode. Now run your project again.

If you pay close attention when installing your pods,firebase makes it clear to open your project with your-project.xcworkspace after installing pods firebaseIOS Setup

 $ cd your-project directory
 $ pod init

Add to Podfile

pod 'Firebase/Core'

And finally:

    $ pod install
    $ open your-project.xcworkspace

Dont forget to add firebase to your AppDelegate



回答7:

If you're using Ionic and the Push and Console plugins that's the problem. Remove the cordova console plugin (which is deprecated) and the error will disappear.

The linker error is saying that a library is duplicated which is, in fact, true because the console plugin is already in cordova-ios 4.5+

It took me a couple of hours to figure this out!



回答8:

I ran into this problem recently creating a new project and adding some pods (AlamoFire specifically) to the project. Troubled with it a couple hours or so recreating the project (it was new) several times. Tried all the methods here and no luck.

Eventually I figured out that it was because XCode V10.1 was also opening the old project file along with the new pod-created workspace when I opened the workspace via command line "open myProject.xcworkspace" when I reopened the project after doing "pod install"

Closing all projects before exiting XCode before I did my "pod install" fixed everything for me.



回答9:

close you project then open xcode go to file -> open search your project and open it . this worked for me



回答10:

In my case

  1. Select your project (In my case i have 2 targets)
  2. Go to Build Phases
  3. Compile Sources
  4. Check if the number of items on each targets is the same (mine was different)
  5. Add the missing file / Remove the duplicated file

Problem Solved



回答11:

For those that can't get the Thorax's answer to work, what I did was I closed out Xcode, ran pod update on my command line and then reopened the .xcworkspace file. After doing that, I was able to build and run the project.

I am using the Firebase Cocoapod and Xcode version 9.1.



回答12:

I got this error due to deletion of some files. For me simply cloning my project worked.



回答13:

I had removed files from Compile Sources in Build Phases in Targets. I added main.m and it worked.



标签: xcode8.1