Welcome to the SKIE documentation. Let's give your iOS developer experience a boost, shall we?
One of the main downsides of Kotlin Multiplatform is the lack of a direct Swift interop. Without it, Swift can communicate with Kotlin only indirectly - through Objective-C. While this approach works, it has many limitations, so Kotlin loses support for many of its language features.
SKIE (pronounced as sky) is a special Kotlin native compiler plugin that brings back support for some of these features by modifying the Xcode Framework produced by the Kotlin compiler. Thanks to that, you don't have to change how you distribute and consume your Kotlin Multiplatform frameworks.
If you're new to SKIE, we have the Getting Started Guide, which will walk you through SKIE using practical examples from our demo application. We also have the SKIE features overview for those who prefer more traditional documentation.
The best installation process will depend on your project:
- Installing SKIE in new projects is similar to other Gradle plugins, so just follow the installation documentation.
- However, if you are installing SKIE in an existing project, you should first read the migration documentation.
How to reach us
There are two primary ways to interact with the SKIE developers:
If you don't have the KotlinLang Slack account yet, join here.
After you get access, join the
#touchlab-tools channel where we provide support for SKIE and other Touchlab's open-source libraries.
You can also use the GitHub Discussions if you want to ask us general questions but don't want to join the KotlinLang Slack. However, if you have access to the KotlinLang Slack, please ask the questions there because it allows us to have a more interactive discussion.
SKIE follows semantic versioning, and we publish a changelog for each release. Make sure to read the changelog any time you are updating SKIE. It contains important information about new features and potentially breaking changes.
Compatibility with Kotlin
SKIE is currently compatible with Kotlin versions from 1.8.0 up to 1.9.22.
Similarly to other compiler plugins, SKIE only works with compatible Kotlin versions. SKIE checks the Kotlin version during the installation and will tell you if the used Kotlin version is not supported. A single version of SKIE can support multiple different versions of Kotlin at the same time.
We plan to always support at least two feature releases of Kotlin with all incremental releases, if reasonably possible. For example:
- If the latest Kotlin version is 1.9.21, we would support at least all the stable versions from 1.8.0 up to 1.9.21.
- If the latest Kotlin version is 2.0.0, we would support at least all the stable versions from 1.9.0 up to 2.0.0.
For the best experience, we recommend using the latest version of SKIE with the latest supported version of Kotlin.
A new SKIE version with support for a new Kotlin version is usually released within a couple of working days after the Kotlin release.
The delay tends to be shorter for the
SKIE doesn't support the preview versions of Kotlin except for the SKIE preview versions that we publish for the
We don't release these SKIE previews for all Kotlin previews.
We usually release these previews only later in the Kotlin release process - around the
However, this depends on the specifics of the given Kotlin release.