upgrade to a newer ktor version - 2.3.2 (latest today).
Issues seen:
Trying to build the code from current main gives me an error:
..KaMPKit/ios/Pods/Pods.xcodeproj: warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 9.0, but the range of supported deployment target versions is 11.0 to 16.4.99. (in target 'SwiftLint' from project 'Pods')
Then we'd get another error when using ./gradlew build:
Task :shared:linkPodReleaseFrameworkIosArm64 FAILED
e: Compilation failed: Internal compiler error: no implementation found for FUN DEFAULT_PROPERTY_ACCESSOR name: visibility:public modality:ABSTRACT <> ($this:kotlinx.coroutines.Job) returnType:kotlinx.coroutines.Job?
when building itable for CLASS INTERFACE name:Job modality:ABSTRACT visibility:public superTypes:[kotlin.coroutines.CoroutineContext.Element]
implementation in CLASS CLASS name:ChannelJob modality:FINAL visibility:private superTypes:[io.ktor.utils.io.ReaderJob; io.ktor.utils.io.WriterJob; kotlinx.coroutines.Job]
at /opt/buildAgent/work/49d4a482a8522285/ktor-io/common/src/io/ktor/utils/io/Coroutines.kt (156:1)
CLASS CLASS name:ChannelJob modality:FINAL visibility:private superTypes:[io.ktor.utils.io.ReaderJob; io.ktor.utils.io.WriterJob; kotlinx.coroutines.Job]
Source files:
Compiler version info: Konan: 1.8.21 / Kotlin: 1.8.21
Gist of what seems to fix the issues:
14.0
ktor
version -2.3.2
(latest today).Issues seen:
Trying to build the code from current main gives me an error:
This is used in two places
https://github.com/touchlab/KaMPKit/blob/f5773713cf57309acb4c161c16f5d6758fb2c3da/ios/Pods/Pods.xcodeproj/project.pbxproj#L467
Going further, as reported in https://github.com/touchlab/KaMPKit/issues/300 there are API usages that require a minimum deployment target of 14.0
Then we'd get another error when using
./gradlew build
:which is reported here https://youtrack.jetbrains.com/issue/KTOR-5728 which is fixed in the latest
ktor
version -2.3.2
.Then finally there is https://github.com/touchlab/KaMPKit/issues/287 which seems like a flaky test that can be improved.