简体   繁体   English

如何用KMM生成xcframework; embedAndSignAppleFrameworkForXcode 只生成框架

[英]How to generate xcframework with KMM; embedAndSignAppleFrameworkForXcode only generates framework

I've created a KMM project, and also an Xcode project with a build phase that calls ./gradlew embedAndSignAppleFrameworkForXcode .我创建了一个 KMM 项目,还有一个 Xcode 项目,其构建阶段调用./gradlew embedAndSignAppleFrameworkForXcode It runs successfully, but generates a.framework, not an.xcframework;运行成功,但是生成的是.framework,不是.xcframework; and we really need the latter for modern Xcode.对于现代 Xcode,我们确实需要后者。

Am i missing something?我错过了什么吗? I read that modern versions of kotlin can generate the xcframework directly, but i'm not sure how.我读到 kotlin 的现代版本可以直接生成 xcframework,但我不确定如何生成。 Is there a gradle task for this?是否有 gradle 任务?

Thanks so much:)非常感谢:)

According to Kdoctor, I have: Xcode 14.1 Android studio 2021.3 Kotlin Plugin: 213-1.7.20 Kotlin MM plugin: 0.5.1(213)-60根据 Kdoctor,我有: Xcode 14.1 Android studio 2021.3 Kotlin 插件:213-1.7.20 Kotlin MM 插件:0.5.1(213)-60

You should declare your XCFrameworks, then it'll register three tasks for you.您应该声明您的 XCFrameworks,然后它会为您注册三个任务。 assembleXCFramework , assembleDebugXCFramework , and assembleReleaseXCFramework . assembleXCFrameworkassembleDebugXCFrameworkassembleReleaseXCFramework

Here is an example of build.gradle:这是 build.gradle 的示例:

import org.jetbrains.kotlin.gradle.plugin.mpp.apple.XCFramework

plugins {
  kotlin("multiplatform")
}

kotlin {
   val xcf = XCFramework()
   val iosTargets = listOf(iosX64(), iosArm64(), iosSimulatorArm64())

   iosTargets.forEach {
      it.binaries.framework {
          baseName = "shared"
          xcf.add(this)
      }
   }
}

For more information, visit kotlin docs .有关更多信息,请访问kotlin 文档

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 KMM:找不到 embedAndSignAppleFrameworkForXcode 任务 - KMM: embedAndSignAppleFrameworkForXcode task not found KMM - 在项目“:shared”中找不到错误任务“embedAndSignAppleFrameworkForXcode” - KMM - Error Task 'embedAndSignAppleFrameworkForXcode' not found in project ':shared' 如何在 KMM(kotlin 本机)共享模块中读取 Swift 框架库中生成的对象数组 - How to read an array of objectes generated in a Swift framework library, in a KMM (kotlin native) shared module Azure 管道无法使用 embedAndSignAppleFrameworkForXcode 和 fastlane 构建 Kotlin 多平台共享框架 - Azure pipeline fails on building Kotlin Multiplatform shared framework usinig embedAndSignAppleFrameworkForXcode and fastlane 如何正确构建aa文件(KMM) - How to build a .a file correctly (KMM) KMM 和 iOS 中的传递依赖如何工作? - How Do Transitive Dependencies in KMM and iOS work? 如何在 KMM 中将 JSON 字符串转换为对象 - How to convert a JSON string to an Object in KMM KMM 如何在我当前的项目中导入生成的 Greeting class? - KMM how to import the generated Greeting class in my current project? 如何将 watchOS 目标添加到我现有的 KMM 项目? - How do I add a watchOS target to my existing KMM project? 在 Mac M1 的 Mac OS Ventura 中使用 Kotlin Multiplatform 生成 XCframework 时出现问题 - Having a problem generate XCframework with Kotlin Multiplatform in Mac OS Ventura with Mac M1
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM