Reputation: 5659
I have recently upgraded the react-native app from 0.60.4 to 0.62.0 and I have solved tons of problems already, though I don't know how far I am from success but I feel close, here is how my pod file looks -
platform :ios, '10.0'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
use_native_modules!
target 'MyProject' do
pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec"
pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired"
pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety"
pod 'React', :path => '../node_modules/react-native/'
pod 'React-Core', :path => '../node_modules/react-native/'
pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules'
pod 'React-Core/DevSupport', :path => '../node_modules/react-native/'
pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/'
pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
pod 'ReactCommon/callinvoker', :path => "../node_modules/react-native/ReactCommon"
pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon"
pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga', :modular_headers => true
pod 'RNCharts', :path => '../node_modules/react-native-charts-wrapper'
pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '4.2'
end
end
end
Now I also have a bridging header which looks something like this -
//
// Use this file to import your target's public headers that you would like to expose to Swift.
//
#import "React/RCTBridge.h"
#import "React/RCTViewManager.h"
#import "React/RCTUIManager.h"
#import "React/UIView+React.h"
#import "React/RCTBridgeModule.h"
#import "React/RCTEventDispatcher.h"
#import "React/RCTEventEmitter.h"
#import "React/RCTFont.h"
I am facing below errors -
ld: 18 duplicate symbols for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
And apparently this indicate below 18 duplicated files -
RNBarChartManager.o
RNBarChartManager.o
RNBubbleChartManager.o
RNBubbleChartManager.o
RNCandleStickChartManager.o
RNCandleStickChartManager.o
RNCombinedChartManager.o
RNCombinedChartManager.o
RNHorizontalBarChartManager.o
RNHorizontalBarChartManager.o
RNLineChartManager.o
RNLineChartManager.o
RNPieChartManager.o
RNPieChartManager.o
RNRadarChartManager.o
RNRadarChartManager.o
RNScatterChartManager.o
RNScatterChartManager.o
Most of it belongs to react-native-charts-wrapper
pakage. I do not know from where and how should i remove these duplicates.
Upvotes: 0
Views: 221
Reputation: 3856
The most likely cause is that you have enabled linking with Cocoapods and auto-linking, but you have not removed the manually linked framework from your Xcode project.
If you open the workspace in Xcode, and then look in the "Linked binaries and frameworks" section of the project setting. You likely have a framework linked called something like react-native-chart-wrapper.a
. If you remove that, then everything should work.
You can also look for the Libraries
group in the file list on the left and remove that. Now you're using Cocoapods, you won't need it anymore. When it asks, only press "Remove references" and not "Move to trash". Removing that should also remove the corresponding listing in "Linked binaries and frameworks".
Upvotes: 1