React-native-code-push: iOS Cant build RN 0.60 duplicate symbol _OBJC_METACLASS_$_SSZipArchive in:

Created on 30 Aug 2019  路  12Comments  路  Source: microsoft/react-native-code-push

Expected Behavior

Successfull build

Actual Behavior

**/ios/build/**/Build/Products/Debug-iphonesimulator/libCodePush.a(SSZipArchive.o)
**/ios/build/**/Build/Products/Debug-iphonesimulator/SSZipArchive/libSSZipArchive.a(SSZipArchive.o)
ld: 271 duplicate symbols for architecture x86_64
clang: error:
linker command failed with exit code 1 (use -v to see invocation)


** BUILD FAILED **


The following build commands failed:
    Ld **/ios/build/dailyhero/Build/Products/Debug-iphonesimulator/** normal x86_64
(1 failure)

I have added also
react-native.config.js

module.exports = {
  assets: ['react-native-vector-icons'],
  dependencies: {
    'react-native-code-push': {
      platforms: {
        ios: null,
        android: null,
      },
    },
  },
};

Environment

  • react-native-code-push version: 5.7.0
  • react-native version: 0.60.5
  • iOS/Android/Windows version: iOS
  • Does this reproduce on a debug build or release build? debug
  • Does this reproduce on a simulator, or only on a physical device? simulator

(The more info the faster we will be able to address it!)

compatibility iOS

Most helpful comment

I found that removing the DerivedData folder for the app fixed the issue. You can find it in ~/Library/Developer/Xcode/DerivedData. Then clean and rebuild in XCode.

All 12 comments

tried to use
pod 'CodePush', path: '../node_modules/react-native-code-push', subspecs: ['Core', 'JWT', 'Base64']

to avoid conflict with SSZipArchive but pod gives error

!] CocoaPods could not find compatible versions for pod "CodePush/Base64":
  In Podfile:
    CodePush/Base64 (from `../node_modules/react-native-code-push`)

moved Codepush from CocoaPods to xcode libraries. And I have this error

** BUILD FAILED **


The following build commands failed:
    CompileC **/ios/build/**/Build/Intermediates.noindex/CodePush.build/Debug-iphonesimulator/CodePush.build/Objects-normal/x86_64/CodePushUtils.o **/node_modules/react-native-code-push/ios/CodePush/CodePushUtils.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)

error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Anyone used CodePush with >RN60?

Same here... Anyone could install on react-native >= 0.60 ?

Also struggling with that error :/

In my case, react-native-code-push 5.7.0 is working well with RN 0.60>= on iOS without any config.

What I did was, yarn add react-native-code-push, and

on Android,
Disable autolink by adding null on react-native.config.js and link it manually.

on iOS,
pod install (no need to set react-native.config.js, which means, react-native-code-push supports autolink on ios)

@ohjeyong I aslo cant use it , when I use sync install it then restart app ,but also show old code, did you have the question

Any comments from devs maybe?

@ohjeyong I aslo cant use it , when I use sync install it then restart app ,but also show old code, did you have the question

How about checkForUpdate and getUpdateMetadata ? Does the result of those functions said there were a new updates?

I found that removing the DerivedData folder for the app fixed the issue. You can find it in ~/Library/Developer/Xcode/DerivedData. Then clean and rebuild in XCode.

For me removing the folder "rn-project/ios/build" and rebuilding worked.

Clearing the build folder and the derived data folder, does not seem to be working for me on RN 0.59, I also tried to move the libraries to manual linking, and I get less errors but get errors still.

Any other solutions?

Hi @rendomnet ,
Thank you for reporting!

As I can see, you are using react-native v0.60.5 and react-native-code-push v5.7.0 but these are incompatible versions, you can take a look at supporting CodePush versions here: https://github.com/microsoft/react-native-code-push#supported-react-native-platforms

Not so long ago we released a new version of Code Push which supports react-native v0.60-v0.61.
All steps for installing the latest version of the plugin are described in our documentation: https://github.com/microsoft/react-native-code-push/blob/master/docs/setup-ios.md

I'm going to close this issue for now. Please feel free to reopen it if you have any questions or issues.

Was this page helpful?
0 / 5 - 0 ratings