dynamic库图像不包含x86_64,i386体系结构

我正在尝试为iOS构builddynamic库,并与架构相结合

  • 的ARMv7
  • armv7s
  • arm64
  • I386
  • x86_64的

这是我的目标的生成设置 在这里输入图像说明

正如你所看到的,我已经将x86_64和i386添加到了体系结构有效体系结构中 ,但也将Build Active Only设置为NO

所以在构build我的二进制文件后,我通过在terminal中运行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 

所以这意味着它已被编译为armv7arm64 ,而dlopen()在模拟器上失败,错误为“不支持的体系结构”。

我究竟做错了什么?

PS。 当我使用自定义构build脚本,并使用那里“胖”工具来创build胖库,它工作正常,但我不喜欢这种方式,我想得到它在Xcode正常工作。

在有效的体系结构中设置armv7,armv7s和arm64,并确保使用任何必须包含64位支持的第三方框架。