Ich versuche, meine erste React-Native-App mit xcode auf einem iOS-Gerät auszuführen und erhalte weiterhin die folgende Fehlermeldung:
ld: warning: directory not found for option '-L/Users/XXXX/Library/Developer/Xcode/DerivedData/nigh-hktjvygosupgnoaafsvgyowhzsqi/Build/Products/Debug-iphoneos/React'
ld: library not found for -lReact
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Ich gehe davon aus, dass die Ursache mit der Tatsache zusammenhängt, dass React in der Liste der Build-Ziele meines Schemas fehlt. React steht an erster Stelle auf der Liste, wobei alle Kontrollkästchen aktiviert sind. Es heißt jedoch React (fehlt) anstatt nur React:
Screenshot der Liste der Build-Ziele
Wenn ich auf die Schaltfläche '+' klicke, ist Reagieren keine Option. Hier ist meine Poddatei:
platform :ios, '10.0'
require_relative '../node_modules/react-native-unimodules/cocoapods'
target 'nigh' do
# Pods for nigh
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
Ich habe versucht, den Block if target.name == "React" zu entfernen und erhalte immer noch den gleichen Fehler. Ich öffne auch xcode aus .xcworkspace anstelle von .xcodeproject, da ich Cocoapods verwende. Ich habe versucht, alles aus dem DerivedData-Ordner zu entfernen und den Build zu bereinigen. Außerdem habe ich versucht, mit dem Legacy Build System zu erstellen. Das Legacy Build-System zeigt in fast jeder Bibliothek Warnungen mit der Aufschrift "Fehlendes Abhängigkeitsziel 'Reagieren'" an.
Ich musste meinen Bundle-Namen von org.reactjs.native.example.nigh in org.reactjs.native.name.nigh ändern. Könnte das also verantwortlich sein? Ich weiß, dass React irgendwann nicht mehr in der Zielliste fehlte. Obwohl React fehlt, läuft die App auf dem xcode iphone Emulator immer noch einwandfrei.
Auch in der Pods / Products-Datei hat libReact.a kein Symbol wie die anderen .a-Dateien
Kann mir jemand sagen, warum dies geschieht und / oder wie man es behebt / umgeht?
quelle
Antworten:
Ich habe dieses Problem behoben, indem ich auf Systemeinstellungen -> Sicherheit und Datenschutz gegangen bin. Unter der Registerkarte Datenschutz erlaubte ich Xcode, auf meine Dateien und Ordner zuzugreifen.
Was tatsächlich geschah, war, dass ich mein Betriebssystem auf Catalina aktualisiert habe. Irgendwie wird Xcode der Zugriff auf Dateien und Ordner nicht gewährt, daher kann xcode die Datei nicht lesen, sodass dieses Problem auftritt.
quelle