无法使用 Apple Silicon 上的 iOS 模拟器 lipo arm64 .a 设备文件
Posted
技术标签:
【中文标题】无法使用 Apple Silicon 上的 iOS 模拟器 lipo arm64 .a 设备文件【英文标题】:Cannot lipo arm64 .a files of iOS device with iOS simulator on Apple Silicon 【发布时间】:2022-01-18 10:09:11 【问题描述】:Shell 命令如下,
$ lipo -info libyuv-device.a
Architectures in the fat file: device/libyuv.a are: armv7 arm64
$ lipo -info libyuv-simulator.a
Architectures in the fat file: simulator/libyuv.a are: arm64 x86_64
$ lipo -create libyuv-device.a libyuv-simulator.a -output libyuv.a
fatal error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: libyuv-device.a and libyuv-simulator.a have the same architectures (arm64) and can't be in the same fat output file
如何将 ios 设备和 iOS 模拟器(在 Apple Silicon 上,例如 M1 上)的多个 arm64 .a 文件 lipo 到一个 .a 文件中?
【问题讨论】:
【参考方案1】:我认为你应该输出一个 XCFramework。
1 - 使用 lipo
像您一样组合每个平台的架构。
2 - 然后使用xcodebuild -create-framework
组合平台。
xcodebuild -create-framework -library libyuv-device.a -library libyuv-simulator.a -output libyuv.xcframework
【讨论】:
以上是关于无法使用 Apple Silicon 上的 iOS 模拟器 lipo arm64 .a 设备文件的主要内容,如果未能解决你的问题,请参考以下文章
M1(Apple Silicon)上的 CocoaPods 因 ffi 架构错误而失败
Docker buildx 与 Apple M1 Silicon 上的节点应用程序 -standard_init_linux.go:211:exec 用户进程导致“exec 格式错误”
如何在 Apple Silicon (ARM / M1) 上安装 SciPy
解决在Apple Silicon (M1)安装php MongoDB扩展失败
如何修复 iOS 模拟器 [native-run] ERR_DEVICE_LOCKED:在 Apple Silicon (M1) 上 1 分钟后设备仍被锁定?