icerockdev / moko-socket-io

MOKO SocketIo by IceRock is Socket.IO implementation Kotlin Multiplatform library
https://moko.icerock.dev/
Apache License 2.0
116 stars 19 forks source link

ld: framework not found mokoSocketIo #28

Closed ponvig closed 11 months ago

ponvig commented 11 months ago

Following the installation instructions i run in to this error. Any ideas?

The /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld command returned non-zero exit code: 1. output: ld: framework not found mokoSocketIo

ponvig commented 11 months ago

Actually, this had nothing to do with this library, sorry about that. But for anyone that runs in to similar issues, i'll leave this here. The problem I was facing was due to not migrating my KMM module from regular framework to cocoapods correctly. (Could not find this in the documentation provided for KMM). This is what i did:

In shared build.gradle file I swapped from: listOf( iosX64(), iosArm64(), iosSimulatorArm64() ).forEach { it.binaries.framework { baseName = "shared" } } to iosX64() iosArm64() iosSimulatorArm64()

In shared build.gradle. I added to the cocoapods block: podfile = project.file("../iosApp/Podfile") framework { baseName = "shared" }

In my iOS project target settings -> Build phases, I removed the run script for the gradle task embedAndSignAppleFrameworkForXcode.

Finally, I also had to add use_frameworks! to the Podfile.