KMM - 在项目“:shared”中找不到错误任务“embedAndSignAppleFrameworkForXcode”

Pho*_*gBM 7 kotlin kotlin-multiplatform-mobile

我创建了一个项目来演示 Kotlin Multiplatform Mobile。我在 Android 和 iOS 两种设备上成功构建并运行了它。之后,我在 iOS 上重新运行了该项目。它有一个错误。

> Configure project :shared
Kotlin Multiplatform Projects are an Alpha feature. See: https://kotlinlang.org/docs/reference/evolution/components-stability.html. To hide this message, add 'kotlin.mpp.stability.nowarn=true' to the Gradle properties.


FAILURE: Build failed with an exception.

* What went wrong:
Task 'embedAndSignAppleFrameworkForXcode' not found in project ':shared'.

* Try:
Run gradlew tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s
Command PhaseScriptExecution failed with a nonzero exit code

** BUILD FAILED **


The following build commands failed:
    PhaseScriptExecution Run\ Script /Volumes/Data/ProjectsKMM/DemoNetworkAPI/build/ios/iosApp.build/Debug-iphonesimulator/iosApp.build/Script-7555FFB5242A651A00829871.sh
(1 failure)
Run Code Online (Sandbox Code Playgroud)

这是我在 Github 上的项目,点击这里。请查看并帮助我找出错误。

提前致谢。

Joh*_*lly 3

您需要至少使用 Kotlin 1.5.20 才能使用embedAndSignAppleFrameworkForXcode(更多信息请参见https://blog.jetbrains.com/kotlin/2021/07/multiplatform-gradle-plugin-improved-for-connecting-kmm-modules/

  • 不幸的是,在 Kotlin 1.5.31、Android Studio 2020.3.1 Patch 3 中找不到该任务,感谢任何帮助。 (5认同)
  • @Pavel我们有同样的问题。要解决这个问题,需要了解一些事情: 1. 此任务不会出现在 `gradlewtasks --all` 上,它是特定于环境的 - 它仅在安装了 XCode 的 MacOS 上可用。2. 该任务无法从终端运行,只能从 XCode 作为运行脚本启动它。3. 你必须正确设置你的 `build.gradle(.kts)` - 我们试图在 ios 模拟器上运行它,我们得到了同样的错误,直到我们取消注释 `iosSimulatorArm64` 行,然后它就起作用了。 (4认同)