2016-12-01 6 views
1

С помощью битового кода Apple заявляет, что может восстановить свое приложение по требованию, когда оно сочтет это необходимым.Будет ли Apple повторно запускать макросы при использовании битового кода?

Если мой исходный код содержит макросы препроцессора, когда они будут выполняться? Когда я создаю и архивирую IPA локально? Или также, когда Apple перестраивает приложение?

Я рассматриваю как пользовательские макросы, так и встроенные, такие как __DATE__ и __TIME__. Какую дату/время он получит, если Apple заново построит приложение в магазине приложений?

ответ

0

Нет; У Apple будет 32-разрядная версия и 64-разрядная версия для вашего приложения в битовом коде; это все. Все # define будут оцениваться вашим компилятором и не отправляться в Apple.

С помощью того, что у них есть, Apple может легко создать новую версию вашего приложения, которая будет работать на новых версиях процессора ARM. Скорее всего, они могут построить новую версию, которая будет работать на процессоре Intel вместо ARM-процессора (в то время как их набор команд и их реализация очень разные, как ведут себя эти чипы, на самом деле очень похожи). Возможно создание версии для little-endian PowerPC; версия для big-endian PowerPC, скорее всего, не сработает, если ваше приложение содержит код, который должен был отличаться от процессора большой части.

__DATE__ и __TIME__ были бы те, которые были действительны при создании приложения.

Результат создания Apple новой версии для нового процессора с битового кода должен быть таким же, как если бы вы отправили приложение с кодом для этого процессора. Очевидно, у вас нет компилятора для ARM13, который будет представлен в 2022 году, но если Apple построит эту версию из вашего переданного битового кода, это должно быть так, как если бы у вас был этот компилятор сегодня.

+0

Итак, вы говорите, что биткод, который я загружаю в Apple, не будет содержать мои макросы, скорее они будут содержать уже сгенерированные значения? Кроме того, у них есть макросы для обнаружения определенных архитектур ('__ARM_ARCH_7A__' и т. Д.), Так как это будет работать, если он действительно только строит только 2 версии? –

Смежные вопросы