VALID_ARCHS = arm64 armv7 armv7 не генерирует ни одного armv7

У меня вопрос по поводу компиляции на iOS. Я создаю фреймворк, и он используется для генерации arm64, armv7 и armv7 (+ тренажеры с липо и весельем).

Дело в том, что armv7s больше нет в бинарнике.

Архитектуры в файле FAT: i386 x86_64 armv7 arm64

Но я четко спрашиваю в своем XCConfig VALID_ARCHS = arm64 armv7 armv7s. Я убедился, что XCConfig действительно использовался и не был переопределен.

Я пробовал различные поиски в Google, но в большинстве случаев мы находим людей, не понимающих, почему их приложение не компилируется с неправильной версией библиотеки.

Итак, теперь я иду сюда, последний шанс понять, почему для моего фреймворка не создается библиотека armv7s. Может быть, это так просто, как «это больше невозможно».


person SeikoTheWiz    schedule 03.08.2018    source источник


Ответы (1)


XCode отказался от поддержки armv7s начиная с XCode 6. Я думаю, что ${ARCHS_STANDARD} теперь включает только armv7, arm64, а симулятор будет включать i386, x86_64, поэтому ваша толстая статическая библиотека/фреймворк будет включать только их.

Чтобы поддерживать armv7s, добавьте его под ${ARCHS_STANDARD} в поле Architectures и снова постройте.

person Tj3n    schedule 03.08.2018
comment
Большое спасибо, я знал, что он был удален из ${ARCHS_STANDARD}, но почему-то я решил, что ONLY_ACTIVE_ARCH = no + VALID_ARCHS = arm64 armv7 armv7 достаточно. - person SeikoTheWiz; 03.08.2018
comment
Я думаю, что мы также можем безопасно отказаться от поддержки armv7s, это не должно быть проблемой, так как XCode уже давно отказалась от его поддержки. - person Tj3n; 03.08.2018
comment
Я бы тоже так подумал, но в случае, если один из моих клиентов попросил об этом, я хотел быть уверенным, что он у меня есть. (Один из них недавно тестировал двоичный код на биткод против armv7 :p) - person SeikoTheWiz; 03.08.2018