登录
首页 >  Golang >  Go问答

生成 iOS 平台的 .xcframework 文件使用 gomobile

来源:stackoverflow

时间:2024-03-02 22:54:25 406浏览 收藏

“纵有疾风来,人生不言弃”,这句话送给正在学习Golang的朋友们,也希望在阅读本文《生成 iOS 平台的 .xcframework 文件使用 gomobile》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Golang相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!

问题内容

是否可以用gomobile生成.xcframework文件?

我使用以下命令使用 gomobile 构建了 .framework 文件:

gomobile 绑定-目标 ios -o ../frameworks/MyFramework.framework

之后我尝试使用此命令构建 .xcframework 文件

xcodebuild-create-xcframework-framework“MyFramework.framework” -输出“MyFramework.xcframework”

但它显示错误:

错误:不支持具有多个平台的二进制文件 '/Users/nicco/myFramework/MyFramework.framework/MyFramework'

看来问题出在 gomobile 框架生成过程中。

所以我看到了 2 个解决方案:

  1. 使用gomobile生成.xcframework文件。
  2. 更改 .framework 构建流程,以便能够将 .framework 生成的文件转换为 .xcframework

怎么做?


解决方案


这有助于生成 xcframework

您需要为每个架构生成一个框架

mkdir arm64
gomobile bind -ldflags="-w -s" -target=ios/arm64 -o ./arm64/openpgp.framework github.com/jerson/openpgp-mobile/openpgp

mkdir amd64
gomobile bind -ldflags="-w -s" -target=ios/amd64 -o ./amd64/openpgp.framework github.com/jerson/openpgp-mobile/openpgp

然后用 xcode 命令合并

xcodebuild -create-xcframework \
    -framework ./arm64/Openpgp.framework \
    -framework ./amd64/Openpgp.framework \
    -output Openpgp.xcframework

仅此而已,希望对您有所帮助

今天关于《生成 iOS 平台的 .xcframework 文件使用 gomobile》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>