Abhishek Agarwal
07/12/2025, 9:37 PM./gradlew spmDevBuild
→ debug XCFramework with arm64-device, arm64-sim & x86_64-sim
I am able to run the debug version of my app with the generated kMP spm package in any simulator and real device but the release version of the app is running only in real device , when trying to run it in simulator the build fails showing error like
Cannot find type 'SkieSwiftFlow' in the scope
Cannot find files from my Kotlin code....
I use umbrella module technique to build KMPModules , this is how it is configured
listOf(
iosArm64(),
iosSimulatorArm64(),
iosX64()
).forEach {
it.binaries.framework {
export(project(":kmm-analytics"))
export(project(":kmm-util"))
//...other modules
export(libs.resources)
export(libs.androidx.lifecycle.viewmodel)
isStatic = true
baseName = "KMMShared"
}
}
Tadeas Kriz
07/12/2025, 9:50 PMAbhishek Agarwal
07/12/2025, 9:51 PMTadeas Kriz
07/12/2025, 9:55 PMAbhishek Agarwal
07/12/2025, 9:56 PM./gradlew spmDevBuild ?
Tadeas Kriz
07/12/2025, 9:56 PMAbhishek Agarwal
07/12/2025, 9:57 PM➜ kmm-modules git:(2ff0d30) ✗ ./gradlew spmDevBuild
Type-safe project accessors is an incubating feature.
Configuration 'iosArm64CompileKlibraries' was resolved during configuration time.
This is a build performance and scalability issue.
See <https://github.com/gradle/gradle/issues/2298>
Run with --info for a stacktrace.
Configuration 'skieRuntimeForIosArm64CompileKlibraries' was resolved during configuration time.
This is a build performance and scalability issue.
See <https://github.com/gradle/gradle/issues/2298>
Run with --info for a stacktrace.
Configuration 'iosArm64DebugFrameworkExport' was resolved during configuration time.
This is a build performance and scalability issue.
See <https://github.com/gradle/gradle/issues/2298>
Run with --info for a stacktrace.
Configuration 'kotlinCompilerClasspath' was resolved during configuration time.
This is a build performance and scalability issue.
See <https://github.com/gradle/gradle/issues/2298>
Run with --info for a stacktrace.
Configuration 'skieCompilerPlugin' was resolved during configuration time.
This is a build performance and scalability issue.
See <https://github.com/gradle/gradle/issues/2298>
Run with --info for a stacktrace.
Configuration 'skieSubPlugin' was resolved during configuration time.
This is a build performance and scalability issue.
See <https://github.com/gradle/gradle/issues/2298>
Run with --info for a stacktrace.
Configuration 'kotlinCompilerPluginClasspathIosArm64Main' was resolved during configuration time.
This is a build performance and scalability issue.
See <https://github.com/gradle/gradle/issues/2298>
Run with --info for a stacktrace.
Configuration 'iosSimulatorArm64CompileKlibraries' was resolved during configuration time.
This is a build performance and scalability issue.
See <https://github.com/gradle/gradle/issues/2298>
Run with --info for a stacktrace.
Configuration 'skieRuntimeForIosSimulatorArm64CompileKlibraries' was resolved during configuration time.
This is a build performance and scalability issue.
See <https://github.com/gradle/gradle/issues/2298>
Run with --info for a stacktrace.
Configuration 'iosSimulatorArm64DebugFrameworkExport' was resolved during configuration time.
This is a build performance and scalability issue.
See <https://github.com/gradle/gradle/issues/2298>
Run with --info for a stacktrace.
Configuration 'kotlinCompilerPluginClasspathIosSimulatorArm64Main' was resolved during configuration time.
This is a build performance and scalability issue.
See <https://github.com/gradle/gradle/issues/2298>
Run with --info for a stacktrace.
> Task :kmm-common:linkDebugFrameworkIosArm64
w: Interop library /Users/Abhi/.gradle/caches/modules-2/files-2.1/dev.icerock.moko/resources-iosarm64/0.24.5/df284c9ed7a94410f8f87be1d1a9bfa20369c00d/resources-cinterop-bundleSearcher can't be exported with -Xexport-library
w: 'var KMMShared.Ktor_httpHttpStatusCode.description' was renamed to 'var KMMShared.Ktor_httpHttpStatusCode.description_' because of a name collision with an another declaration 'func KMMShared.KotlinBase.description() -> Swift.String'. Consider resolving the conflict either by changing the name in Kotlin, or via the @ObjCName annotation. You can also suppress this warning using the 'SuppressSkieWarning.NameCollision' configuration. However using renamed declarations from Swift is not recommended because their name will change if the conflict is resolved.
(at public final val description: kotlin.String defined in io.ktor.http.HttpStatusCode from module <io.ktor:ktor-http>)
> Task :kmm-common:linkDebugFrameworkIosSimulatorArm64
w: Interop library /Users/Abhi/.gradle/caches/modules-2/files-2.1/dev.icerock.moko/resources-iossimulatorarm64/0.24.5/b88997ed1cca1458cdf5723d7550426d412c3708/resources-cinterop-bundleSearcher can't be exported with -Xexport-library
w: 'var KMMShared.Ktor_httpHttpStatusCode.description' was renamed to 'var KMMShared.Ktor_httpHttpStatusCode.description_' because of a name collision with an another declaration 'func KMMShared.KotlinBase.description() -> Swift.String'. Consider resolving the conflict either by changing the name in Kotlin, or via the @ObjCName annotation. You can also suppress this warning using the 'SuppressSkieWarning.NameCollision' configuration. However using renamed declarations from Swift is not recommended because their name will change if the conflict is resolved.
(at public final val description: kotlin.String defined in io.ktor.http.HttpStatusCode from module <io.ktor:ktor-http>)
> Task :kmm-common:assembleKMMSharedDebugXCFramework
xcframework successfully written out to: /Users/Abhi/Documents/kmm-modules/kmm-common/build/XCFrameworks/debug/KMMShared.xcframework
Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
For more on this, please refer to <https://docs.gradle.org/8.10.2/userguide/command_line_interface.html#sec:command_line_warnings> in the Gradle documentation.
Tadeas Kriz
07/12/2025, 9:58 PMAbhishek Agarwal
07/12/2025, 9:59 PMTadeas Kriz
07/12/2025, 10:00 PMAbhishek Agarwal
07/12/2025, 10:01 PMAbhishek Agarwal
07/12/2025, 10:01 PMTadeas Kriz
07/12/2025, 10:01 PMAbhishek Agarwal
07/12/2025, 10:02 PMTadeas Kriz
07/12/2025, 10:03 PMTadeas Kriz
07/12/2025, 10:03 PMAbhishek Agarwal
07/12/2025, 10:03 PMAbhishek Agarwal
07/12/2025, 10:05 PMAbhishek Agarwal
07/12/2025, 10:27 PMTadeas Kriz
07/13/2025, 12:00 AMAbhishek Agarwal
07/13/2025, 5:50 AM/Users/Abhi/Documents/kmm-modules/kmm-common/build/XCFrameworks/debug/KMMShared.xcframework
├── Info.plist
├── ios-arm64
│ └── KMMShared.framework
│ ├── Headers
│ │ ├── KMMShared-Swift.h
│ │ ├── KMMShared.apinotes
│ │ └── KMMShared.h
│ ├── Info.plist
│ ├── KMMShared
│ ├── Modules
│ │ ├── KMMShared.swiftmodule
│ │ │ ├── arm64-apple-ios.abi.json
│ │ │ ├── arm64-apple-ios.private.swiftinterface
│ │ │ ├── arm64-apple-ios.swiftdoc
│ │ │ ├── arm64-apple-ios.swiftinterface
│ │ │ └── arm64-apple-ios.swiftsourceinfo
│ │ └── module.modulemap
│ ├── com.cityflo.customer.kmm:kmm-foodvending.bundle
│ │ └── Contents
│ │ ├── Info.plist
│ │ └── Resources
│ │ ├── Base.lproj
│ │ │ └── Localizable.strings
│ │ ├── en.lproj
│ │ │ └── Localizable.strings
│ │ └── files
│ ├── com.cityflo.customer.kmm:kmm-litepack.bundle
│ │ └── Contents
│ │ ├── Info.plist
│ │ └── Resources
│ │ ├── Base.lproj
│ │ │ └── Localizable.strings
│ │ ├── en.lproj
│ │ │ └── Localizable.strings
│ │ └── files
│ ├── com.cityflo.customer.kmm:kmm-payments.bundle
│ │ └── Contents
│ │ ├── Info.plist
│ │ └── Resources
│ │ ├── Base.lproj
│ │ │ └── Localizable.strings
│ │ ├── en.lproj
│ │ │ └── Localizable.strings
│ │ └── files
│ └── com.cityflo.customer.kmm:kmm-util.bundle
│ └── Contents
│ ├── Info.plist
│ └── Resources
│ ├── Assets.car
│ ├── Base.lproj
│ │ └── Localizable.strings
│ ├── en.lproj
│ │ └── Localizable.strings
│ └── files
└── ios-arm64_x86_64-simulator
└── KMMShared.framework
├── Headers
│ ├── KMMShared-Swift.h
│ ├── KMMShared.apinotes
│ └── KMMShared.h
├── Info.plist
├── KMMShared
├── Modules
│ ├── KMMShared.swiftmodule
│ │ ├── arm64-apple-ios-simulator.abi.json
│ │ ├── arm64-apple-ios-simulator.swiftdoc
│ │ ├── arm64-apple-ios-simulator.swiftinterface
│ │ ├── arm64-apple-ios-simulator.swiftsourceinfo
│ │ ├── x86_64-apple-ios-simulator.abi.json
│ │ ├── x86_64-apple-ios-simulator.swiftdoc
│ │ ├── x86_64-apple-ios-simulator.swiftinterface
│ │ └── x86_64-apple-ios-simulator.swiftsourceinfo
│ └── module.modulemap
├── com.cityflo.customer.kmm:kmm-foodvending.bundle
│ └── Contents
│ ├── Info.plist
│ └── Resources
│ ├── Base.lproj
│ │ └── Localizable.strings
│ ├── en.lproj
│ │ └── Localizable.strings
│ └── files
├── com.cityflo.customer.kmm:kmm-litepack.bundle
│ └── Contents
│ ├── Info.plist
│ └── Resources
│ ├── Base.lproj
│ │ └── Localizable.strings
│ ├── en.lproj
│ │ └── Localizable.strings
│ └── files
├── com.cityflo.customer.kmm:kmm-payments.bundle
│ └── Contents
│ ├── Info.plist
│ └── Resources
│ ├── Base.lproj
│ │ └── Localizable.strings
│ ├── en.lproj
│ │ └── Localizable.strings
│ └── files
└── com.customer.kmm:kmm-util.bundle
└── Contents
├── Info.plist
└── Resources
├── Assets.car
├── Base.lproj
│ └── Localizable.strings
├── en.lproj
│ └── Localizable.strings
└── files
Abhishek Agarwal
07/13/2025, 5:51 AMFilip Dolník
07/14/2025, 10:35 AMBijan Cronin
07/19/2025, 2:36 AM