https://kotlinlang.org logo
#ios
Title
# ios
d

darkmoon_uk

03/17/2023, 6:34 AM
Just a heads-up; my team are unable to adopt Kotlin
1.8.20-RC
because something has regressed in Cocoapods integration. It's a struggle finding the time to isolate it in a minimal reproducer, but we have two Cocoapods; one is sourced online in the normal way, another is generated locally as part of the build so has a local file path. The commonizer fails on this with:
Caused by: java.nio.file.NoSuchFileException: SQLCipher/I3TT7758Yx7u7tzr1SbmITaj_k4=/(ios_arm64, ios_simulator_arm64, ios_x64)/...
However
SQLCipher
itself is not the problem, if I remove the other local Cocoapod; SQLCipher is resolved fine. Likewise if I remove
SQLCipher
the other Cocoapod syncs fine. I suspect this has to do with the paths the commonizer generates when there's a mix of local/non-local Cococapods. The critical part is the
default
component name in the path becomes
__nonexistent_component_name__
. Same config is fine in
1.8.0
and
1.8.10
...
s

Sebastian Sellmair [JB]

03/18/2023, 6:59 PM
Can you share the the build.gradle.kts files? Or outline roughly how to reproduce this?
cc @Konstantin Tskhovrebov Can you help here?
d

darkmoon_uk

03/20/2023, 8:46 AM
Currently working on a reproducer, haven't cracked it yet, getting the project progressively closer.
s

Sebastian Sellmair [JB]

03/20/2023, 9:36 AM
Thanks a lot! With a reproducer, things will get much easier :)
c

caffeine

04/03/2023, 10:07 PM
@darkmoon_uk Hi. Try to remove
kotlin.mpp.enableCInteropCommonization=true
from
gradle.properties
. I have same problem
d

darkmoon_uk

04/04/2023, 3:43 AM
@caffeine This is going to sound bad but... I'm glad I've found someone else dealing with this issue; I thought it was only me! Opting not to use C Interop Commonisation at all, like you've suggested, could be the basis for a workaround... but we actually do want to use commonisation: AFAIK commonisation is important for providing an
iosMain
interface when building for iOS Simulator and Device? So, this isn't really a long-term solution. Commonisation used to work before
1.8.20
. I'm trying to build a minimal reproducer project at the moment but so far I can't get it to 'error' in the same way as my main project. Welcome any clues or suspicions you might have, as to what triggers this error in your project?
c

caffeine

04/04/2023, 10:01 AM
@darkmoon_uk Sorry. I have no ideas now. I'll try again later to figure out what's going on.
12 Views