Trey
08/21/2024, 1:58 PMkpgalligan
08/21/2024, 2:03 PMTrey
08/21/2024, 2:04 PMkpgalligan
08/21/2024, 2:20 PMkpgalligan
08/21/2024, 2:20 PMkpgalligan
08/21/2024, 2:21 PMTrey
08/21/2024, 2:22 PMkpgalligan
08/21/2024, 2:25 PMI was trying to remove all references to cocoapods, since their recent blog post that basically said it was officially in maintenance mode.Well, I'd say you might notice some issues related to "maintenance mode" in 5 years or so. They're not adding new features, that's basically it. I think KMP needs proper SPM support, and soon, but still. For your case, I'd highly suggest just using CocoaPods, especially if this is just for the Kotlin. If CocoaPods cinterop works, it's the difference between 30 minutes of work or ~4 hours, if you're familiar with cinterop (depending on complexity of AppAuth. I have no idea). If you're not familiar with cinterop, linking, Xcode cli tools, etc, you'll be learning quite a bit about that first.
kpgalligan
08/21/2024, 2:28 PMTrey
08/21/2024, 2:29 PMTrey
08/21/2024, 2:30 PMTrey
08/21/2024, 2:30 PMkpgalligan
08/21/2024, 2:32 PMI'll check out your talk if that explains that. Just figured I would finish my thought.Only watch that if you're going to try to do it manually. It doesn't explain how to do link-only with CocoaPods. It skips that because the talk is a deep-dive on cinterop
kpgalligan
08/21/2024, 2:33 PMpod
dependency, there should be a config option for linkOnly
https://kotlinlang.org/docs/native-cocoapods-dsl-reference.html#pod-functionkpgalligan
08/21/2024, 2:34 PMlinkOnly
.kpgalligan
08/21/2024, 2:35 PMpod
, but in Xcode, add AppAuth with SPM. That should keep the linker happy, but I haven't tested it much.Trey
08/21/2024, 2:35 PMTrey
08/21/2024, 8:40 PMTrey
08/21/2024, 10:16 PMkotlin.apple.deprecated.allowUsingEmbedAndSignWithCocoaPodsDependencies=true
to gradle.properties. I ended up doing the cinterop myself so I wouldn't have to use cocoapods at all. I just would like the simplified syntax for Kermit and I'm all set. I found that info about the flag here: https://youtrack.jetbrains.com/issue/KT-64096/Diagnostic-when-embedAndSign-used-for-framework-with-cocoapods-dependencieskpgalligan
08/22/2024, 12:05 AMkermit-simple
module? It doesn't use cinterop. The idea of that module is the Kotlin compiler can't export default parameters, so the standard Kermit API is ugly to call. kermit-simple
is designed to be used in places that don't have default params (like Swift and JS). https://github.com/touchlab/Kermit/blob/main/kermit-simple/src/nonKotlinMain/kotlin/co/touchlab/kermit/Logger.ktkpgalligan
08/22/2024, 12:05 AM