【问题标题】:How to configure an iOS Application for Kotlin Multiplatform in Android Studio?如何在 Android Studio 中为 Kotlin Multiplatform 配置 iOS 应用程序?
【发布时间】:2021-05-13 00:25:40
【问题描述】:

我想为 Android Studio 4.1.2 中的 Kotlin 多平台移动应用程序的 iOS 应用程序添加运行/调试配置。但是,iOS 的配置似乎有问题。

在下面的屏幕截图中,您可以看到问题所在。在“运行/调试配置”对话框中,Android Studio 抱怨

Error: Please specify Xcode project location in xcodeproj property of gradle.properties

使用“修复”按钮并不能解决问题。 Android Studio 只是在gradle.properties 中添加了一个额外的xcodeproj 并抱怨重复参数。

我还为xcodeproj 尝试了不同的路径(相对路径和绝对路径)。没有运气。

如果我没记错的话,它曾经是开箱即用的。为 Android iOS 自动配置了一个新的 Kotlin Multiplatform Mobile 项目。我不确定发生了什么变化。可能更新了一些东西。

这是 KMM 插件的错误吗?或者我可以在我的系统上做些什么来解决这个问题?

【问题讨论】:

  • 似乎这个问题正在流行。 stackoverflow.com/questions/66113448/…stackoverflow.com/questions/66055014/…stackoverflow.com/questions/66113448/… 的重复,但还没有解决方案
  • 好的,很高兴知道这不一定是我的系统的问题。我很确定几天前它可以在我的系统上运行。
  • 我很确定它在我的系统中仍然有效。
  • 我已经尝试了问题中的一个项目。我很确定您的也可以使用
  • 这里也一样。直接用xcode打开iosApp项目也无法运行。说无法加载类org.gradle.wrapper.GradleWrapperMain,所以我下载gradle-wrapper.jar 将它放在gradle/wrapper dir 中,xcode 工作正常。但是AndroidStudio仍然无法检测到iosApp。

标签: android-studio kotlin kotlin-multiplatform kotlin-multiplatform-mobile


【解决方案1】:

不要在 Android Studio 中这样做。

只需打开 Xcode,点击“打开另一个项目...”,找到在 Android Studio 上创建项目时命名它的 iosApp 文件夹。

之后,只需点击运行即可享受乐趣。

【讨论】:

  • 谢谢,它也适用于我的 Xcode。但是,这似乎是 KMM 插件中的一个错误:youtrack.jetbrains.com/issue/KT-44760
  • 是的,当你点击“修复”按钮时,会一次又一次地添加多个配置属性!!!
【解决方案2】:

如果项目从 Xcode 中打开后没有立即运行并显示shared framework is missing,则尝试使用终端生成 iOS 平台的共享框架。导航到项目文件夹并执行
命令:./gradlew packForXcode 现在共享框架应该有一个xcode-frameworks 产品,您应该能够通过 Xcode 构建和运行项目。

【讨论】:

  • 谢谢,这个解决方法对我有用,直到插件中的错误得到修复。
  • 这行得通。感谢您的解决方案。但是每次更改代码时我都必须运行它。就像这样循环“Android Studio中的代码更改>运行此命令>从Xcode运行应用程序”我希望是否有任何替代解决方案。
  • @DanishAnsari 我相信随着 KMM 插件的新版本解决了这个问题。我正在使用 AS 金丝雀版本和最新的 KMM 插件,它没有问题。
  • @iPP 是的,我也注意到了同样的问题,谢谢你虽然我得到了这个错误,但按照那里的 cmets 中提到的那样修复了它youtrack.jetbrains.com/issue/KT-41691
【解决方案3】:

我通过将 Kotlin 版本从 1.4.30 降级到 1.4.21 来修复它。您可以查看this thread here。要降级,请从plugin store 下载您想要的版本,然后从磁盘中选择安装插件,如下图所示

【讨论】:

    【解决方案4】:

    升级Android Studio版本到4.2.1,KMM插件版本到0.2.6,用KMM插件新建KMM项目,问题自动修复。

    【讨论】:

      【解决方案5】:

      如果你不想使用 Xcode:

      看起来这个版本存在一些 IDE 问题,一种选择是降级 Kotlin 版本。

      对我有用的是下载最新的 Canary Android Studio 并在那里设置我的 KMM 项目。

      希望很快这将在下一个版本中稳定

      【讨论】:

        【解决方案6】:

        与此处相同:https://stackoverflow.com/a/66941077/3117650

        看起来这个版本存在一些 IDE 问题,一种选择是降级 Kotlin 版本。

        对我有用的是下载最新的 Canary Android Studio 并在那里设置我的 KMM 项目。

        希望很快这将在下一个版本中稳定

        【讨论】:

          猜你喜欢
          • 2021-08-09
          • 2022-11-23
          • 2021-04-13
          • 2021-07-29
          • 2021-05-13
          • 2017-12-22
          • 1970-01-01
          • 2023-02-11
          • 1970-01-01
          相关资源
          最近更新 更多