如何将kotlin本机代码编译到iOS框架中?
从中,我们可以将kotlin代码编译成如何将kotlin本机代码编译到iOS框架中?,kotlin,shared-libraries,cross-platform,kotlin-native,Kotlin,Shared Libraries,Cross Platform,Kotlin Native,从中,我们可以将kotlin代码编译成框架,以便集成到现有的iOS项目中 我只是想知道怎么做 我想要什么 使用命令行构建 从进行构建,以便我能够赶上最新的更新 没有使用Gradle,因此我不需要进行Gradle项目设置 我知道在samples文件夹中有一个calculatorsample,它在Xcode项目中添加了一个名为Compile Kotlin framework的额外步骤来实现这一神奇。但我不知道如何区分这一步 我试着像这样使用命令行:。/../dist/bin/kotlinc./src
框架
,以便集成到现有的iOS项目中
我只是想知道怎么做
我想要什么
samples
文件夹中有一个calculator
sample,它在Xcode
项目中添加了一个名为Compile Kotlin framework
的额外步骤来实现这一神奇。但我不知道如何区分这一步
我试着像这样使用命令行:。/../dist/bin/kotlinc./src/main/kotlin/org/konan/arithmetricparser/Parser.kt-product framework-o asd.framework
但结果与gradle build的结构不同
有人帮忙吗?谢谢您可以学习本教程。虽然它使用gradle,但它基本上包含一个脚本,可以自动为ios重建kotlin框架。我不确定这是否是您所需要的,但您可以根据相同的原则编写shell脚本
task lipo(type: Exec, dependsOn: 'build') {
def frameworks = files(
"$buildDir/konan/bin/iphone/${frameworkName}.framework/$frameworkName",
"$buildDir/konan/bin/iphone_sim/${frameworkName}.framework/$frameworkName"
)
def output = file("$buildDir/konan/bin/iphone_universal/${frameworkName}.framework/$frameworkName")
inputs.files frameworks
outputs.file output
executable = 'lipo'
args = frameworks.files
args += ['-create', '-output', output]
}
task copyFramework(type: Copy, dependsOn: lipo) {
from("$buildDir/konan/bin/iphone") {
include '*/Headers/*'
include '*/Modules/*'
include '*/Info.plist'
}
from "$buildDir/konan/bin/iphone_universal"
into "${rootProject.rootDir}/ios"
}
还有一个教程在这里
您可能会使用Gradle作为构建系统,请参见如果有人有此问题,我会为其建立一个博客:请参见我的答案,您所说的“不同结构”到底是什么意思?Kotlin/Native gradle插件和CLI工具标志由相同的代码处理,因此如果您传递相同的选项,结果也相同。