Estoy tratando de ejecutar mi primera aplicación React-Native en un dispositivo ios usando xcode y sigo recibiendo este error:
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)
Supongo que la causa está relacionada con el hecho de que React falta en la lista de objetivos de compilación de mi Esquema. React es el primero en la lista con todas las casillas marcadas, pero dice React (falta) en lugar de solo React:
Captura de pantalla de la lista de objetivos de compilación
Si hago clic en el botón '+', Reaccionar no es una opción. Aquí está mi podfile:
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
Intenté eliminar el bloque if target.name == "React" y aún recibo el mismo error. También estoy abriendo xcode desde .xcworkspace en lugar de .xcodeproject ya que estoy usando cocoapods. Intenté eliminar todo de la carpeta DerivedData y limpiar la compilación, y también intenté compilar usando el Sistema de compilación heredado. El sistema Legacy Build muestra advertencias en casi todas las bibliotecas que dicen "Objetivo de dependencia faltante 'Reaccionar'".
Necesitaba cambiar el nombre de mi paquete de org.reactjs.native.example.nigh a org.reactjs.native.name.nigh, ¿podría ser eso responsable? Sé que en algún momento React no faltaba en la lista de objetivos. A pesar de que falta React, la aplicación aún funciona bien en el emulador de iPhone xcode.
También en el archivo Pods / Products, libReact.a no tiene un icono como los otros archivos .a
¿Alguien puede decirme por qué sucede esto y / o cómo solucionarlo / solucionarlo?
fuente
Respuestas:
Solucioné este problema yendo a Preferencias del sistema -> Seguridad y privacidad. Debajo de la pestaña de privacidad, permití a Xcode acceder a mis archivos y carpetas.
Lo que realmente sucedió fue que actualicé mi sistema operativo a Catalina. De alguna manera, el acceso a los archivos y la carpeta no se otorga a Xcode, por lo tanto, xcode no puede leer el archivo, por lo que obtiene este problema.
fuente