0

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

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

gomobile 绑定 -target ios -o ../frameworks/MyFramework.framework

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

xcodebuild -create-xcframework -framework "MyFramework.framework" -输出 "MyFramework.xcframework"

但它显示错误:

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

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

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

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

怎么做?

4

1 回答 1

0

这可能有助于生成和 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

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

于 2021-03-16T15:55:31.197 回答