32-битное приложение с динамическим сбоем библиотеки на 64-битном устройстве

Я столкнулся со следующим сценарием:

  • 32-битное устройство + приложение armv7 + динамическая библиотека armv7 arm64 = ​​работает
  • 64-битное устройство + приложение armv7 + динамическая библиотека armv7 arm64 = ​​не работает

не работает — приложение вылетает при загрузке со следующей ошибкой:

библиотека сообщений об ошибках dyld не загружена причина не найдено подходящее изображение

Любые объяснения?


person Roy K    schedule 10.01.2016    source источник
comment
армв7с? - armv7 действительно старый   -  person David H    schedule 10.01.2016
comment
@DavidH, дело не в том, стар он или нет. armv7 и armv7 поддерживаются устройствами arm64. Тем не менее, мой вопрос в том, что произойдет, если я добавлю команду загрузки в динамическую библиотеку armv7... потому что у меня происходит сбой, и я не понимаю, почему.   -  person Roy K    schedule 10.01.2016
comment
Вы включили только первую строку сообщения об ошибке dyld. Должно быть больше строк вывода из dyld.   -  person rob mayoff    schedule 10.01.2016
comment
Пожалуйста, добавьте полный журнал ошибок, чтобы мы могли лучше понять проблему.   -  person Mayank Barnwal    schedule 10.01.2016


Ответы (1)


Объяснение: 32-битные двоичные файлы, загруженные на 64-битные устройства, не могут этого сделать, так как размер 32-битной страницы был изменен с 4096 байт на 16384 байт в iOS 9.

Вывод. 32-разрядные приложения с динамическими библиотеками не могут работать на 64-разрядных устройствах.

Решения (достаточно одного из двух):

  • #P4# <блочная цитата> #P5#
  • Обновите само приложение для поддержки архитектуры arm64.
person Roy K    schedule 11.01.2016