android - KMM : How to reference the shared module into an already existing iOS project

标签 android ios kotlin-multiplatform kotlin-multiplatform-mobile

我关注了KMM hands-on tutorial关于如何使用 KMM 构建示例应用程序,我能够成功完成所有步骤! (Yu-huu!)现在我正在尝试在生产应用程序中做一个小的 POC。所以我创建了一个新的 KMM 共享模块并将其添加到 Android 项目中。对于 Android 部分,它工作正常,但我不知道如何将共享模块包含到 iOS 应用程序中。
According to this link ,iOS项目目录应在gradle.properties中引用文件:

xcodeproj=~/iOSProjects/TestKMM
但是当我尝试导入共享模块时,xcode 提示没有这样的模块:
enter image description here
所以我想只是在 gradle.properties 中引用 iOS 项目是不足够的。一定还有其他我想念的东西。

另外,我检查了build共享模块的目录,据我所知,没有生成 iOS 工件。 (这与动手教程项目不同,其中存在 bin/iosX64/debugFragmework/shared.framework/ ....。)
enter image description here

最佳答案

So I suppose that simply referencing the iOS project in the gradle.properties is not enough.


正确的。实际操作似乎没有描述您如何实际与 Xcode 集成。我们通常使用 cocoapods 来简化这一切,但在动手操作中,您需要运行 :shared:packForXCode从 gradle 命令行构建实际的框架(您可以从 Android Studio 运行它)。
那应该在您的构建目录中构建一个框架。动手看看Xcode项目。您将看到一个指向 KMM 框架的链接框架。在您的 prod Xcode 项目中,您需要添加它。在动手实践中,查看运行 gradle 的构建脚本。您需要将其转移到您的 prod Xcode 项目 (see here)。
要手动设置所有这些,您需要对 Xcode 配置有相当深入的了解。
如果您的产品 Xcode 使用 Cocoapods,我建议使用该路线(并以自我促销 KaMP Kit 为例)。

关于android - KMM : How to reference the shared module into an already existing iOS project,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65671552/

相关文章:

android - Unity 突然 FPS 下降

android - TableRow 中的类转换异常

objective-c - 反转由 NSArray 组成的表中的 "columns"

kotlin - 如何在多平台 Kotlin 项目中隐藏 JavaScript 目标的包结构

ios - 无法在 Android Studio 中添加苹果设备

android - 在 Android 上从 Google 跨客户端身份验证获取代码

iphone - 开发 ios 4.1 并部署到 ios 4.1 及更高版本

objective-c - 从 objective-c 中的文本文件中读取

swift - 如何从 Kotlin 移动平台访问 Array 到 iOS 或 Android?

安卓工作室 : Shared folder not working anymore