KMP项目中Kotlin顶层函数是否会导致Xcode 16预览失效崩溃?
Xcode 16 Preview 调用KMP顶层函数崩溃的已知情况
这是Xcode 16(包括正式版初期)和Kotlin Multiplatform(KMP)顶层函数互操作时的已知兼容性问题,开发者社区里已经有不少人反馈过相同情况。
问题细节
- 触发场景:Swift代码通过自动生成的
UtilsKt类调用KMP里的顶层函数时,Xcode预览功能会出现加载失败、无响应甚至直接崩溃的情况,但真机/模拟器运行、Xcode 15环境下完全正常。
临时规避方案
- 把KMP里的顶层函数封装到Kotlin类中,比如创建一个
Utils单例类,将原顶层函数改成类成员函数,Swift端改用Utils.shared.doSomethingForMe()调用。 - 如果必须保留顶层函数,可在Swift的预览代码里绕开直接调用,用模拟数据或者本地封装的代理函数替代。
后续修复进展
JetBrains已经在Kotlin官方的问题跟踪系统里记录了这个问题,Apple的Xcode bug反馈渠道也收到了相关报告,后续版本应该会修复这个兼容性问题。
内容的提问来源于stack exchange,提问作者georgij
相关产品推荐
相关产品推荐

