Jan 2, 2025

Febak for iOS: Coming Soon

Made some good progress over the last couple of days with bringing iOS version of Bapdap online

Febak for iOS: Coming Soon

The biggest change for iOS: Gemini + Room.

Gemini

I used the Google AI SDK for Bapdap, which is only available for Android. Yesterday, I found John O'Reilly's post describing how to roll your own calls to Gemini in KMP: https://johnoreilly.dev/posts/gemini-kotlin-multiplatform/

This is largely a like-for-like swap between the Google AI SDK for Android and the ktor-based Gemini calls for KMP, but definitely took some time to iron out all of the bugs.

Room KMP

Migrating from Room to Room KMP takes some work. I failed to remove some references to room-common, and I could not figure out why I was getting these errors in Xcode about room-common files not being found for iossimulatorarm64. Once I removed room common from the Version Catalog and the build.gradle files, I was off and running (to the next bug:).

KLIB resolver: Could not find "/Users/mattdyor/.gradle/caches/modules-2/files-2.1/androidx.room/room-common-iossimulatorarm64/2.7.0-alpha12/32131878ecfb1a2ebca6eed6006b355cd1b964bb/room-common-iosSimulatorArm64Main-2.7.0-alpha12.klib" in [/Users/mattdyor/AndroidStudioProjects/bapdap, /Users/mattdyor/.konan/klib, /Users/mattdyor/.konan/kotlin-native-prebuilt-macos-aarch64-2.0.21/klib/common, /Users/mattdyor/.konan/kotlin-native-prebuilt-macos-aarch64-2.0.21/klib/platform/ios_simulator_arm64]

What's Next

Bapdap should be ready to roll on iOS by January 7. Because it is written in Kotlin Multiplatform (using Compose Multiplatform), once I get iOS up and running I will also get Desktop and Web for free 😊 . If you have an Android, it is available today for closed testing.

More Posts
Disclaimer: by reading this content, you agree that no legal relationship is created between you and this website or you and any author who publishes content on this website or any site powered by this website.