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

时间:2016-01-10 16:08:17

标签: ios xcode computer-architecture arm64

我面临以下情况:

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

不起作用 - app在加载时崩溃并出现以下错误:

  

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

有任何解释吗?

1 个答案:

答案 0 :(得分:2)

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

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

解决方案(其中一个就够了):

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

      

    -Wl,-segalign,4000

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