使用 Kotlin 多平台实现相机库

Implement camera lib with Kotlin multiplatform

我想了解什么样的结构应该有一个多平台库。在 Internet 上查看我已经看到了大量解释如何制作日志或 "hello world" 的示例,但是缺乏复杂的示例,即使在 official documentation 中也是如此(重要的是要注意我只对移动平台感兴趣,iOS 和 Android)。

所以我想创建一个简单地打开相机的示例(作为一个库,而不是作为一个多平台应用程序)只是为了了解如何使用一个真实的功能,这个功能也是本机的。现在我已经在 official example 之后创建了一个项目,所以它有一个公共模块(使用 expect),一个用于 Android,一个用于 iOS(使用 actual),现在这些是我的疑惑:

谢谢

好的,让我们一一解答您的问题。

  1. 我建议您看一下 this 示例
  2. iOS 模块因此产生了一个 Objective-C 框架。 Xcode 项目可以像任何其他非 Kotlin 起源的框架一样使用它。
  3. 貌似无法使用 Android SDK 是使用 jvm("android") 目标代替的结果 android() 个。要使用 android 目标,除了 kotlin-multiplatform 之外,还必须应用 android Gradle 插件。
  4. 我 认为你想做那样的事情:只是普通 class common 中的声明及其扩展函数 expect修饰符。然后在特定平台中实现 代码。
  5. 我也这么认为。
  6. 我也建议你看看 this and this,也许这些例子对你来说已经足够复杂了。