React-native-onesignal: Error de compilación de IOS con: "ld: biblioteca no encontrada para -lreact-native-onesignal"

Creado en 17 feb. 2021  ·  4Comentarios  ·  Fuente: OneSignal/react-native-onesignal

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

  • SDK agregado al proyecto con yarn add react-native-onesignal
  • react-native-onesignal: 4.0.3
  • react-nativo: 0.63.3
  • XCode: 12.4
  • Cocoapods: 1.10.1

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:

  • Siga la guía de configuración de React Native & Expo SDK

  • Cree la aplicación en XCode
  • Help Wanted iOS

    Todos 4 comentarios

    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!

    ¿Fue útil esta página
    0 / 5 - 0 calificaciones