适用于iOS的Kotlin Multiplatform库,带有bitcode

适用于iOS的Kotlin Multiplatform库,带有bitcode,第1张

概述我们使用Kotlin在 Android和iOS之间共享库. 我们设置了一切,但在iOS上我需要启用Bitcode. 经过研究,我找到了解决方案: kotlin {targets { fromPreset(presets.jvm, 'jvm') { mavenPublication { artifactId = 'my-lib-name' 我们使用Kotlin在 Android和iOS之间共享库.

我们设置了一切,但在iOS上我需要启用Bitcode.
经过研究,我找到了解决方案:

kotlin {targets {    fromPreset(presets.jvm,'jvm') {        mavenPublication {            artifactID = 'my-lib-name'        }    }    // Switch here to presets.iosArm64 to build library for iPhone device || iosX64 for emulator    fromPreset(presets.iosArm64,'iOS') {        compilations.main.outputKinds('FRAMEWORK')        compilations.main.extraOpts '-Xembed-bitcode' // for release binarIEs        compilations.main.extraOpts '-Xembed-bitcode-marker'//  for deBUG binarIEs    }  }}

但问题是现在,我有,如果是,我如何在发布和调试二进制文件和特定标志之间分开?
我可以简单地添加两个标志没有任何缺点吗?

也许有人可以启发我
谢谢

解决方法 目前,同一iOS目标的所有二进制链接任务共享编译器和链接器选项,因此无法单独为它们设置选项.请关注 KT-26887以获取更新.

如果您可以负担运行多个具有不同选项的构建,则可以有条件地设置选项并使用标​​志运行构建:

compilations.main.outputKinds('FRAMEWORK')if (project.findProperty("releaseFramework") == "true")    compilations.main.extraOpts '-Xembed-bitcode' // for release binarIEselse    compilations.main.extraOpts '-Xembed-bitcode-marker'//  for deBUG binarIEs

然后分别使用或不使用标志运行构建:

./gradlew linkDeBUGFrameworkIOS

./gradlew linkReleaseFrameworkIOS -PreleaseFramework=true
总结

以上是内存溢出为你收集整理的适用于iOS的Kotlin Multiplatform库,带有bitcode全部内容,希望文章能够帮你解决适用于iOS的Kotlin Multiplatform库,带有bitcode所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1068248.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存