gpt4 book ai didi

ios - 当尝试在 ios 设备上运行 React-Native 应用程序时,为什么所有 RCT...引用 "undefined symbol"错误?

转载 作者:行者123 更新时间:2023-11-29 05:20:00 34 4
gpt4 key购买 nike

我尝试在设备上运行我的第一个 React-Native 应用程序,但构建始终失败并出现以下错误:

ld: warning: directory not found for option '-L/Users/XXXX/Library/Developer/Xcode/DerivedData/nigh-hktjvygosupgnoaafsvgyowhzsqi/Build/Products/Debug-iphoneos/React'

ld: warning: directory not found for option '-L/Users/XXXX/Library/Developer/Xcode/DerivedData/nigh-hktjvygosupgnoaafsvgyowhzsqi/Build/Products/Debug-iphoneos/React'

ld: warning: directory not found for option '-L/Users/XXXX/Library/Developer/Xcode/DerivedData/nigh-hktjvygosupgnoaafsvgyowhzsqi/Build/Products/Debug-iphoneos/React'

ld: warning: ignoring file /Users/XXXX/Nigh/ReactNativeNigh/Nigh/ios/build/nigh/Build/Products/Debug-iphonesimulator/React/libReact.a, file was built for archive which is not the architecture being linked (arm64): /Users/XXXX/Nigh/ReactNativeNigh/Nigh/ios/build/nigh/Build/Products/Debug-iphonesimulator/React/libReact.a

Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_RCTBridge", referenced from:
objc-class-ref in AppDelegate.o
"_OBJC_CLASS_$_RCTBundleURLProvider", referenced from:
objc-class-ref in AppDelegate.o
"_OBJC_CLASS_$_RCTConvert", referenced from:
objc-class-ref in libRNGestureHandler.a(RNFlingHandler.o)
objc-class-ref in libRNGestureHandler.a(RNForceTouchHandler.o)
objc-class-ref in libRNGestureHandler.a(RNLongPressHandler.o)
objc-class-ref in libRNGestureHandler.a(RNNativeViewHandler.o)
objc-class-ref in libRNGestureHandler.a(RNPanHandler.o)
objc-class-ref in libRNGestureHandler.a(RNGestureHandlerModule.o)
objc-class-ref in libRNGestureHandler.a(RNGestureHandler.o)
...

React directory not found error

先说几件事:

该项目在 XCode 模拟器上运行良好。

我正在使用 cocoapods 并尝试从 xcWorkspace 而不是项目运行构建(尽管目标的完整路径是/Users/XXXX/Nigh/ReactNativeNigh/Nigh/ios/nigh.xcodeproj 这让我有点困惑)。

我已删除并重新安装了节点模块、链接并完成了新的 pod 安装。

看起来我所要做的就是将 React 添加到 Debug-iphoneos 文件夹中,但我不确定如何做到这一点或者这是否是解决方案。我的第一次尝试是确保 React 位于计划的构建目标中。它是列表中第一个所有框都被选中的,除了由于某种原因它说“React(缺失)”。每React Native / Xcode Upgrade and now RCTConvert.h not found我从目标列表中删除了 React(missing) 并尝试再次添加 React,但 React 甚至没有出现在列表中。此外,Pods/Products 文件夹显示的 libReact.a 与其他 .a 文件不同,没有 Archive(?) 图标:

List of Pod/Products

这是 podfile:


require_relative '../node_modules/react-native-unimodules/cocoapods'

target 'nigh' do
# Pods for nigh
use_frameworks!

# pod 'AWSCore', '~> 2.12.0'
pod 'AWSCore', '~> 2.10.2'
pod 'AWSAppSync', '~> 2.14.2'

pod 'React', :path => '../node_modules/react-native', :subspecs => [
'Core',
'CxxBridge',
'DevSupport',
'RCTActionSheet',
'RCTAnimation',
'RCTBlob',
'RCTGeolocation',
'RCTImage',
'RCTLinkingIOS',
'RCTNetwork',
'RCTSettings',
'RCTText',
'RCTVibration',
'RCTWebSocket',
]

pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'

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'
pod 'RNGestureHandler', :podspec => '../node_modules/react-native-gesture-handler/RNGestureHandler.podspec'
pod 'RNReanimated', :podspec => '../node_modules/react-native-reanimated/RNReanimated.podspec'
pod 'react-native-google-maps', path: '../node_modules/react-native-maps' # Uncomment this line if you want to support GoogleMaps on iOS
pod 'GoogleMaps' # Uncomment this line if you want to support GoogleMaps on iOS
pod 'Google-Maps-iOS-Utils' # Uncomment this line if you want to support GoogleMaps on iOS

use_unimodules!


pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons'

pod 'react-native-maps', :path => '../node_modules/react-native-maps'

pod 'RNDeviceInfo', :path => '../node_modules/react-native-device-info'

pod 'react-native-slider', :path => '../node_modules/@react-native-community/slider'

pod 'react-native-notifications', :path => '../node_modules/react-native-notifications'

pod 'react-native-cameraroll', :path => '../node_modules/@react-native-community/cameraroll'

pod 'react-native-image-picker', :path => '../node_modules/react-native-image-picker'

pod 'RNFS', :path => '../node_modules/react-native-fs'

end

post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == 'react-native-google-maps'
target.build_configurations.each do |config|
config.build_settings['CLANG_ENABLE_MODULES'] = 'No'
end
end

#if target.name == "React"
# target.remove_from_project
#end
end
end

我注释掉了 if target.name == "React" block ,但无论哪种方式都会出现错误。

我是否正确地假设问题是 React 不在该方案的构建目标中,如果是的话,有人知道如何包含它吗?如果没有,有人知道真正的原因是什么/如何解决/解决它吗?

最佳答案

我相信您的问题来自 use_frameworks!,请尝试删除该行,再次删除 DerivedData、Pods、xcworkspace、Podfile.lock 和 pod install

我上个月升级 RN 版本时遇到了这个问题。这个愚蠢的事情花了我 1 周的时间才知道这个问题,并花了 20 分钟才解决。

希望对你有帮助

关于ios - 当尝试在 ios 设备上运行 React-Native 应用程序时,为什么所有 RCT...引用 "undefined symbol"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58764340/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com