我正在尝试为 iOS 构建动态库,并结合架构
- armv7
- armv7s
- arm64
- i386
- x86_64
这是我的目标的build设置
如您所见,我已将 x86_64 和 i386 添加到架构和有效架构,并且仅构建事件架构设置为否
。
因此,在构建二进制文件后,我通过在终端中运行file myDl.dylib
来检查支持的架构
myDl.dylib (for architecture armv7): Mach-O dynamically linked shared library arm
myDl.dylib (for architecture arm64): Mach-O 64-bit dynamically linked shared library
这意味着它已针对 armv7 和 arm64 进行编译,并且 dlopen()
在模拟器上失败,并出现错误“不支持的架构”。
我做错了什么?
PS。当我使用自定义构建脚本并使用“lipo”工具创建 fat 库时,它工作正常,但我不喜欢这种方式,我想让它在 Xcode 上正常工作。
最佳答案
在有效的架构中设置armv7、armv7s和arm64,并确保您是否使用任何必须包含64位支持的第三方框架。
关于ios - 动态库镜像不包含x86_64、i386架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28108589/