Reputation: 331
I have this error
❌ ld: library not found for -lDoubleConversion
❌ clang: error: linker command failed with exit code 1 (use -v to see invocation)
error Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65. To debug build logs further, consider building your app with Xcode.app, by opening App.xcworkspace
** BUILD FAILED **
The following build commands failed:
Ld /Users/mohamedelmi/workspace/elmi/food-frontend/ios/build/App/Build/Intermediates.noindex/App.build/Release-iphonesimulator/App.build/Objects-normal/x86_64/App normal x86_64
(1 failure)
here is what i did
Upvotes: 6
Views: 7738
Reputation: 747
This is what finally worked for me. (Before proceeding, make sure pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
is included in your podfiles
1. cd ios
2. Delete Podfile.lock
3. pod deintegrate
4. pod install
5. cd ..
6. rm -rf node_modules && yarn
7. Add use_frameworks! to your Podfile
Run react-native-run-ios or Build with Xcode by opening the xcworkspace file in your ios directory.
Upvotes: 0
Reputation: 543
This is what finally worked for me.
pod deintegrate
pod install
Open project in X-Code
Remove Resources folder from left sidebar
Build your project from New Build System.
Upvotes: 0
Reputation: 1333
I followed the answers on Why linker link static libraries with errors? iOS but nothing worked for me since I was combining the answers.
I got it to work by ONLY doing the "create new Swift-file"-trick. So remove everything, do a fresh install and only add a new Swift-file that will create the Bridging Header (dont delete the Swift-file).
Upvotes: 0
Reputation: 646
First of all, make sure that Libraries -> React.xcodeproj -> ThirdParty -> double-conversion
exists and a static library is being produced from it, like this:
Then, if are you're using cocoapods, make sure to add DoubleConversion
to your Podfile
:
target 'MyApp' do
pod 'React', :path => "../node_modules/react-native", :subspecs => [
'Core',
'CxxBridge',
'DevSupport',
# the following ones are the ones taken from "Libraries" in Xcode:
'RCTAnimation',
'RCTActionSheet',
'RCTBlob',
'RCTGeolocation',
'RCTImage',
'RCTLinkingIOS',
'RCTNetwork',
'RCTSettings',
'RCTText',
'RCTVibration',
'RCTWebSocket'
]
pod 'yoga', :path => "../node_modules/react-native/ReactCommon/yoga"
# Here it goes
pod 'DoubleConversion', :podspec => "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
pod 'glog', :podspec => "../node_modules/react-native/third-party-podspecs/glog.podspec"
pod 'Folly', :podspec => "../node_modules/react-native/third-party-podspecs/Folly.podspec"
end
And finally, if none of this worked so far, there's a script you can manually run in order to resolve React's third-party dependencies.
Just go to node_modules/react-native
and type:
$ ./scripts/ios-install-third-party.sh
Important: Always run it inside node_modules/react-native
. Because, as far as I know, the script uses relative paths in order to store third-party's source code and react native will always look for it at node_modules/react-native/third-party
. So just make sure to run it in the right place.
Note: This script is, probably, already running as a build phase on your project.
Upvotes: 6