来了!支持 iOS 开发的 Kotlin/Native v0.4 发布
Posted OSC开源社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了来了!支持 iOS 开发的 Kotlin/Native v0.4 发布相关的知识,希望对你有一定的参考价值。
Kotlin / Native v0.4 已发布,这也正是在 KotlinConf 2017 上宣布的支持开发 ios 应用的版本。
此版本增加了对 iOS 和 MacOS 的 Objective-C API 的访问支持,对 WebAssembly 的实验性支持,同时还引入了一些以 Kotlin / Native 的方式让应用开发更简单的改进。
Platform libraries
为访问底层操作系统接口,Kotlin / Native 提供了一套针对特定平台,任意程序均可使用的平台专用库。以前,你需要使用 cinterop 工具自己生成库,现在开箱即用。
下面是 v0.4 中新平台库的使用演示。
它会将文件的内容读入 Kotlin ByteArray,然后将其标准输出。
与 iOS 和 macOS 框架的互操作性
不同于其他大多数平台上,苹果平台以 Objective-C API 的形式提供对系统框架的访问。为支持这一点,Kotlin / Native 团队实施了一个 Objective-C 互操作层。 例如,以纯 Kotlin / Native 编写的以下代码将读取 iOS 上的应用程序资源:
下面的完整程序将在 macOS 上呈现:
有关 iOS 完整应用程序的示例,请参阅 Kotlin/Native fullstack application。
Object pinning
debugging 改进
v0.4 的 Debugging 增加了检查功能,绝大多数变量都可以在运行时中检查。
#
# bin/konanc kat.kt -o kat -g
# lldb kat.kexe
(lldb) target create "kat.kexe"
Current executable set to 'kat.kexe' (x86_64).
(lldb) command script import tools/konan_lldb.py
(lldb) b kfun:main(kotlin.Array<kotlin.String>)
Breakpoint 1: where = kat.kexe`kfun:main(kotlin.Array<kotlin.String>) + 26 at kat.kt:25, address = 0x00000001000023ba
(lldb) print args
(ObjHeader *) $1 = [/etc/groups]
WebAssembly
Kotlin / Native v0.4 拥有对 WebAssembly 的实验性支持(-target wasm32),但由于浏览器支持限制,尚不建议使用到生产中。
IDE 支持
Kotlin/Native plugin for CLion 发布,支持使用 CMake 作为构建系统。其中包含来自 IntelliJ IDEA 的 Kotlin 插件中全部代码编辑功能集,同时初步支持项目创建、测试与调试等操作。
详情:https://blog.jetbrains.com/kotlin/2017/11/kotlinnative-ide-support-preview/
更多内容请查阅发行说明:https://blog.jetbrains.com/kotlin/2017/11/kotlinnative-v0-4-released-objective-c-interop-webassembly-and-more/
x86-64 Linux hosts:http://download.jetbrains.com/kotlin/native/kotlin-native-linux-0.4.tar.gz
x86-64 MacOS hosts:http://download.jetbrains.com/kotlin/native/kotlin-native-macos-0.4.tar.gz
x86-64 Windows hosts:http://download.jetbrains.com/kotlin/native/kotlin-native-windows-0.4.zip
以上是关于来了!支持 iOS 开发的 Kotlin/Native v0.4 发布的主要内容,如果未能解决你的问题,请参考以下文章
iOS 15 要来了!UI 焕然一新,分屏显示,iPhone 7以下机型不支持
iOS 13.6 / 12.4.8 正式版来了,依然支持越狱