32位应用程序,64位设备上的动态库崩溃

我面临以下情况:

  • 32位设备+ app armv7 +动态库armv7 arm64 = 工作
  • 64位设备+应用程序armv7 +动态库armv7 arm64 = 不起作用

不起作用 – 应用程序崩溃加载时出现以下错误:

dyld错误消息库未加载原因没有找到合适的图像

有什么解释吗?

说明 :64位设备上加载的32位二进制文​​件无法执行此操作,因为在iOS 9中32位页面大小已从4096字节更改为16384字节。

结论 :带有动态库的32位应用程序无法在64位设备上运行。

解决方案 (两者之一就足够了):

  • 向动态库项目中的其他链接器标志添加新条目:

    -Wl,-segalign,4000

  • 更新应用程序本身以支持arm64架构