Estoy tratando de usar el marco cocoapods en el proyecto Kotlin Multiplatform. Asique
.def creadocinterop agregada en build.gradle ./gradlew cinteropFirebaseIos se ejecuta correctamente. Genera .klib para que pueda ver las clases en código kotlin. Pero cuando intento ejecutar la compilación de la aplicación iOS falla con el mensaje:
Mostrar mensajes recientes
> Tarea :aplicación:enlaceDebugFrameworkIos
ld: marco no encontrado FirebaseDatabase
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld invocación de errores informados
Aquí está mi configuración en build.gradle
fromPreset(presets.iosX64, 'ios') { compilations.main { outputKinds('FRAMEWORK') cinterops { firebase { def proj = "${System.getProperty("user.home")}/Projects/kmpp" def pods = "${proj}/iosApp/Pods" defFile "${proj}/app/src/iosMain/c_interop/libfirebase.def" includeDirs "${pods}/Firebase", "${pods}/Firebase/CoreOnly/Sources", "${pods}/FirebaseAnalytics/Frameworks/FirebaseAnalytics.framework/Headers" } } } } aquí está mi archivo .def :
language = Objective-C headers = /Users/oleg/Projects/klug/crckalculator/iosApp/Pods/FirebaseCore/Firebase/Core/Public/FIRApp.h /Users/oleg/Projects/klug/crckalculator/iosApp/Pods/FirebaseDatabase/Firebase/Database/Public/FIRDatabase.h /Users/oleg/Projects/klug/crckalculator/iosApp/Pods/FirebaseCore/Firebase/Core/Public/FirebaseCore.h compilerOpts = -framework FirebaseDatabase linkerOpts = -framework FirebaseDatabase ¿Cómo puedo averiguar qué está mal? ¿Me perdí algo en el archivo .def ? En build.gradle ?
Hay dos momentos problemáticos aquí:
.def generalmente no son deseables, sino que pasan includeDirs a la instalación de Firebase, como en https://github.com/JetBrains/kotlin-native/blob/c7c566ce0f12221088a8908b6dc8e116c56a931b/samples/gtk/build.gradle#L22 sería de ayudacompilations.main.linkerOpts algo como -F /Users/oleg/Projects/klug/crckalculator/iosApp/Pods/FirebaseCore/ deberá ayuda, consulte por ejemplo https://github.com/JetBrains/kotlin-native/blob/c7c566ce0f12221088a8908b6dc8e116c56a931b/samples/videoplayer/build.gradle#L15