ios - 动态库镜像不包含x86_64、i386架构

标签 ios xcode macos static-libraries

我正在尝试为 iOS 构建动态库,并结合架构

  • armv7
  • armv7s
  • arm64
  • i386
  • x86_64

这是我的目标的build设置 enter image description here

如您所见,我已将 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

这意味着它已针对 armv7arm64 进行编译,并且 dlopen() 在模拟器上失败,并出现错误“不支持的架构”。

我做错了什么?

PS。当我使用自定义构建脚本并使用“lipo”工具创建 fat 库时,它工作正常,但我不喜欢这种方式,我想让它在 Xcode 上正常工作。

最佳答案

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

关于ios - 动态库镜像不包含x86_64、i386架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28108589/

相关文章:

xcode - 安装新的 xcode 4.3 后找不到 stdio.h

xcode - viewDidLoad() 之后出现意外的打印对话框

iphone - 以编程方式从 iPhone 获取 Sim 识别号/序列号

ios - Swift 和 SpriteKit : how to implement non-fuzzy circle timer with SKShapeNode

ios - 如何从ios swift上传图像到node/mongodb后端

xcode - 如何更新Xcode以安装 “UNIX Development Support”?

ios - 错误构建 : Undefined symbol: _SKStoreProductParameterAdNetworkSourceIdentifier

javascript - OSX 上的 Firefox 中的插件是否支持 nslProcess?

cocoa - 如何在build设置中更改 Mac 应用程序的名称?

ios - 从 NSObject 类中呈现一个 View Controller