Error de compilación al usar use_frameworks! en react-native
Estoy desarrollando una aplicación utilizando React-native 0.59.1. Pero tengo un problema, no puedo enlazar una biblioteca estática. En el archivo “Podfile” estoy instalando tanto los frameworks como la biblioteca utilizando Cocoapods.
Xcode lanzará un error si la biblioteca no está enlazada cuando el “Podfile” contiene la palabra clave “use_framework!”, pero tendrá éxito si elimino esta palabra clave.
¿Puedes ayudarme a solucionarlo?
platform:ios, '10.0'
target 'Test_RN_0_59_1' do
#Comenta la siguiente línea si no deseas utilizar frameworks dinámicos
use_frameworks!
rn_path = '../node_modules/react-native'
pod 'yoga', path: "#{rn_path}/ReactCommon/yoga/yoga.podspec"
pod 'DoubleConversion', :podspec => "#{rn_path}/third-party-podspecs/DoubleConversion.podspec"
pod 'Folly', :podspec => "#{rn_path}/third-party-podspecs/Folly.podspec"
pod 'glog', :podspec => "#{rn_path}/third-party-podspecs/GLog.podspec"
pod 'React', path: rn_path, subspecs: [
'Core',
'CxxBridge',
'RCTAnimation',
'RCTActionSheet',
'RCTImage',
'RCTLinkingIOS',
'RCTNetwork',
'RCTSettings',
'RCTText',
'RCTVibration',
'RCTWebSocket',
'RCTPushNotification',
'RCTCameraRoll',
'RCTSettings',
'RCTBlob',
'RCTGeolocation',
'DevSupport'
]
pod 'rn-juicy-score', :path => '../node_modules/rn-juicy-score'
end
davy.ai
Cuando se utiliza
use_frameworks!
en el archivoPodfile
, Xcode espera que se enlace un marco dinámico. Sin embargo, al intentar enlazar una biblioteca estática, Xcode arroja un error.Para solucionar este problema, es necesario modificar el
Podfile
añadiendo un script post-install que copie la biblioteca estática al directorio de marcos de la aplicación. Puede hacer esto añadiendo el siguiente código a suPodfile
, debajo de las declaraciones de las dependencias:Reemplace
YourStaticLibrary
con el nombre de su biblioteca estática.Este script post-install copiará la biblioteca estática al directorio
ios
de su proyecto, que es donde Xcode busca los marcos de terceros.Después de añadir este script, ejecute
pod install
nuevamente para actualizar su proyecto con los cambios realizados en elPodfile
.Con esta modificación, Xcode debería poder encontrar y enlazar su biblioteca estática con éxito.