我遇到此错误
❌ 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)
这是我所做的
答案 0 :(得分:1)
首先,请确保Libraries -> React.xcodeproj -> ThirdParty -> double-conversion
存在,并从中生成一个静态库,如下所示:
然后,如果您使用的是椰子,请确保将DoubleConversion
添加到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
最后,如果到目前为止所有这些都不起作用,那么可以手动运行一个脚本 为了解决React的第三方依赖关系。
只需转到node_modules/react-native
并输入:
$ ./scripts/ios-install-third-party.sh
重要:始终在node_modules/react-native
内运行它。因为据我所知,该脚本使用相对路径来存储第三方的源代码,并且react native将始终在node_modules/react-native/third-party
中查找它。因此,只需确保在正确的位置运行它即可。
注意:该脚本可能已经作为项目的构建阶段运行。
答案 1 :(得分:0)
我遵循了Why linker link static libraries with errors? iOS上的答案,但自从我将答案合并后,对我来说什么都没有用。
我只能通过 ON 来完成“创建新的Swift文件”技巧。因此,删除所有内容,进行全新安装,仅添加一个新的Swift文件,该文件将创建 Bridging Header (不要删除Swift文件)。
答案 2 :(得分:0)
这终于对我有用。 (继续之前,请确保pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
已包含在您的Podfile中
1. Delete Podfile.lock
2. cd ios
3. pod deintegrate
4. pod install
5. cd ..
6. rm -rf node_modules && yarn
7. Add use_frameworks! to your Podfile
通过打开ios目录中的xcworkspace文件,运行react-native-run-ios或Xcode构建。
答案 3 :(得分:0)
这终于对我有用。
pod解体
pod安装
使用X代码打开项目
从左侧边栏中删除资源文件夹
从新构建系统构建项目。