Descripción:
Siguió la guía de configuración de React Native & Expo SDK . Después de completar el paso 5, intenté crear mi aplicación en XCode. La compilación falló con el siguiente error:
ld: library not found for -lreact-native-onesignal
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Intenté seguir los pasos de vinculación manual pero encontré el mismo error. ¿Se pregunta si alguien ha descubierto una solución a esto?
¡Gracias!
Medio ambiente
yarn add react-native-onesignal
Podfile
require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
platform :ios, '11.0'
target 'OneSignalNotificationServiceExtension' do
pod 'OneSignal', '>= 3.0', '< 4.0'
end
target 'WellnessReactNative' do
config = use_native_modules!
use_react_native!(:path => config["reactNativePath"])
pod 'Stripe', '~> 19.0.1'
pod 'tipsi-stripe', :path => '../node_modules/tipsi-stripe'
# Enables Flipper.
#
# Note that if you have use_frameworks! enabled, Flipper will not work and
# you should disable these next few lines.
# use_flipper!
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == 'react-native-config'
phase = target.project.new(Xcodeproj::Project::Object::PBXShellScriptBuildPhase)
phase.shell_script = "cd ../../"\
" && RNC_ROOT=./node_modules/react-native-config/"\
" && export SYMROOT=$RNC_ROOT/ios/ReactNativeConfig"\
" && ruby $RNC_ROOT/ios/ReactNativeConfig/BuildDotenvConfig.ruby"
target.build_phases << phase
target.build_phases.move(phase,0)
end
end
# flipper_post_install(installer)
end
end
Pasos para reproducir el problema:
Hola,
Intente ejecutar pod deintegrate && pod install
desde su directorio ios
. Si eso no funciona, intente ejecutar una compilación limpia. Si ninguno de esos funciona, intente eliminar sus datos derivados.
Hola @rgomezp ,
¡Gracias por responder! Le di una oportunidad a tus sugerencias, pero encontré el mismo error.
Estoy pensando en este punto que necesito vincular la biblioteca manualmente porque el enlace automático no funciona. Configuré el enlace manual después de borrar todo. Y veo el siguiente error en RCTOneSignalExtensionService.m:
node_modules/react-native-onesignal/ios/RCTOneSignal/RCTOneSignalExtensionService.m:4:9: 'OneSignal.h' file not found
Verificando el directorio "Frameworks" en el RCTOneSignal.xcodeproj
parece que la referencia OneSignal.h
apunta a node_modules/react-native-onesignal/ios/OneSignal.h
. Pero este archivo no existe. ¿Podría eso estar afectando el enlace manual?
Algún avance en esto ? Enfrentando el mismo problema después de actualizar a Xcode 12.
Hola @ hugoh59 ,
El problema para mí fue que mis Cocoapods no actualizaron las rutas de búsqueda de mi biblioteca. Todavía no estoy seguro de por qué ...
Arreglé mi instalación agregando manualmente ${PODS_CONFIGURATION_BUILD_DIR}/react-native-onesignal
a las Rutas de búsqueda de la
¡Espero que esto ayude!