React Native XCode Project Product Archive Fails with duplicate symbols for architecture arm64 React Native XCode Project Product Archive Fails with duplicate symbols for architecture arm64 xcode xcode

React Native XCode Project Product Archive Fails with duplicate symbols for architecture arm64


So I did even more research into this and the workaround is actually much simpler. Or at least it was in my case. The problem is that when you declare React in the podfile, the Pods xcodeproject gets a React target as part of the pod install process. Having this target in the Pods project is what causes the error when you Archive. So the fix is to remove the target.

enter image description here

The problem with removing the target in xCode is that this actually edits project.pbxproj file within the Pods folder which is not in version control. So while the build will archive once you do this, if you deploy from anywhere other than the machine that manually removed it, it will still fail. So the solution is to add this post install command to the bottom of your podfile:

post_install do |installer|  installer.pods_project.targets.each do |target|    if target.name == "React"      target.remove_from_project    end  endend

This simply loops through all the pods to be installed and removes the target for the React one. This way anywhere that builds the project, will also remove the target. Now when you build to Archive it will not fail.


Finally solved the problem after finding a relevant issue on another react-native project here.

The answer is that there is two copies of React Native in the Xcode project, one from CocoaPods and another as a subproject. Just remove all modules that were already declared in Podfile under the Libraries inside Xcode and the error goes away after a clean and re-try.

What's interesting about this issue is that all builds in Debug and Release works but it fails when attempting to Archive the project for distribution.

[Update 2 May 2017]

The solution I described above can cause debug-time errors when you run your code with react-native run-ios/android though it allows the project to be successfully archived.

An alternative method is to remove those duplicate modules that exist both in Libraries and Podfile from the Podfile declaration instead of the Libraries folder. And of course run the relevant pod commands, clean your project etc.

Doing this allowed my code to archive and also run without debug-time errors


I solved this issue by the following:(ref.: https://github.com/react-community/react-native-maps/issues/718)

  1. Open Xcode > Pods > Targets Support Files > Pods-{TARGET-NAME} find"OTHER_LDFLAGS" and remove only -ObjC in these two files:

Pods-{TARGET-NAME}.release.xcconfig ePods-{TARGET-NAME}.debug.xcconfig

  1. Go to project main target > BuildSettings > Other Linker Flags: Make sure no -ObjC is left in thevalue I deleted the build/Build folder in ios and run your project again.

It works now.

Side effects from the link above: the app may become larger as there may be duplicated symbols in it.

Hope it can help you.