64-битная поддержка статических библиотек в iOS

По словам Apple, после 1 июня приложения, которые не созданы для 64-разрядных систем, будут автоматически отклоняться при загрузке в магазин приложений. Мое приложение использует "Стандартные архитектуры" и BaseSDK 8.0. На первый взгляд это означает, что приложение в порядке с этими правилами, однако что происходит, когда внешние библиотеки не являются 64-битными? Например

$ lipo -info libssl.a 
Architectures in the fat file: libssl.a are: armv6 armv7 

Эти файлы libssl.a, кажется, скомпилированы для 32-битных. Однако мне это нужно в моем приложении, поэтому оно связано. Мое приложение находится в AppStore долгое время, и оно было впервые построено с 32-разрядной версией. Теперь со "Стандартными архитектурами" он компилируется с поддержкой 32 и 64 бит.

Это нормально, или мне нужны 64-битные версии моих статических библиотек?

2 ответа

Решение

Да.

Если ваш проект 64-битный, а внешние библиотеки 32-битные, ваш проект даже не скомпилируется.

ВСЕ должно быть 64-битным, чтобы конечное приложение было 64-битным

ВСЁ значит

  • само приложение
  • все связанные статические библиотеки
  • все связанные динамические библиотеки
  • все связанные рамки (как правило, яблоки!)
  • все включенные "расширения" (которые являются собственными приложениями)
Другие вопросы по тегам