Kotlin 多平台问题 : Type 'org.gradle.api.tasks.Copy' property 'sign' doesn't have a configured value

标签 kotlin gradle gradle-kotlin-dsl kmm

我正在尝试构建一个 KMM 项目,在 Android 和 iOS 模拟器中一切正常,但是当我连接 iOS 设备时,出现以下错误。

失败:构建失败,出现异常。

  • 出了什么问题: 发现任务“:shared:embedAndSignAppleFrameworkForXcode”(类型“复制”)的配置存在问题。

我的 gradle wrapper 属性有 7.4.1,我用过 7.2 版本也有同样的问题。

如果有人能告诉我如何解决这个 gradle 问题以使框架库为 iOS 项目做好准备,那将非常有帮助,谢谢。

与此同时,如果我找到任何解决方案,我会尝试弄清楚自己会更新。

最佳答案

看起来您缺少 EXPANDED_CODE_SIGN_IDENTITY。如果您选择 iOS 设备,Xcode 会设置此变量。对于模拟器在我的例子中,它将它设置为 -。 Kotlin 多平台插件需要为 embedAndSignAppleFrameworkForXcode 设置此变量才能正常工作 here .

我认为更新 Xcode 可能会有帮助。或者,如果未定义,您可以将 EXPANDED_CODE_SIGN_IDENTITY 设置为 -

要做到这一点,只需更新您的运行脚本阶段:

: "${EXPANDED_CODE_SIGN_IDENTITY:=-}"
./gradlew :shared:embedAndSignAppleFrameworkForXcode

希望对您有所帮助。

关于Kotlin 多平台问题 : Type 'org.gradle.api.tasks.Copy' property 'sign' doesn't have a configured value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71491942/

相关文章:

android - 创建发出监听器回调结果的 Kotlin 协程 Deferred 对象

java - 非法访问错误 : Method is inaccessible to class

android - 将 doNotStrip packagingOptions 设置为特定的 buildType

gradle - 使用 Gradle Kotlin 配置 Maven 插件

java - Kotlin ArrayList<HashSet<data class>> .reduce 函数不适用于 ArrayList 的子集

intellij-idea - 运行单个 Kotlin 文件

android - 找不到androidx.navigation :safe-args-gradle-plugin:1. 0.0-alpha01

android - 失败 [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION : Failed to parse/data/app/vmdl1686600827. tmp/base.apk:损坏的 XML 二进制文件]

gradle-kotlin-dsl - 在 KMM 中定义全局配置变量

gradle - 如何在具有 android、iOS 和不受支持的目标(如 mingwX64)的 kotlin 多平台项目中设置 sqldelight?