Могу ли я запустить старый архив приложений в Simulator? - программирование
Подтвердить что ты не робот

Могу ли я запустить старый архив приложений в Simulator?

Когда мы развертываем новые версии приложения iOS в App Store через XCode, создается архив.

Есть ли способ взять старый архив и запустить его в симуляторе? Я хотел бы сделать это, чтобы иметь возможность легко протестировать обратную совместимость кода на стороне сервера со всеми предыдущими версиями приложения (или, по крайней мере, двумя в основном используемыми в то время).

Я знаю, что я мог бы вступить в репозиторий GIT и вытащить определенную версию, но это имеет две проблемы: a. он более сложный, чем просто запуск архива, б. он подвержен ошибкам и прекращает разработку новой версии на машине, и c. может быть некоторое смещение, связанное с изменениями компилятора или любым другим изменением XCode между рендерингом версии, которую сложно скомпилировать.

Я не мог найти никакой помощи по этому поводу в StackOverflow и никаких признаков этой возможности в репозитории архива в XCode. Должен ли я записывать запрос функции @Apple?

4b9b3361

Ответ 1

Нет, вы не можете взять архив, созданный для App Store, и запустить его в симуляторе - даже если вы справитесь с проблемами подписи и т.д., архив, созданный для App Store, содержит код, скомпилированный для процессоров ARM, которые имеют i-устройства. Код, созданный для симулятора, компилируется для процессоров x86, чтобы он мог запускаться на компьютерах Mac.

Ответ 2

Один достаточно простой способ сделать это через Test Flight. Мы регулярно тестируем новые версии с помощью Test Flight, старые остаются там и могут вернуться к ним в любое время. Это другая сборка, чем та, которую вы, наконец, отправляете в App Store, но это то, что всегда будет правдой, поскольку сборка App Store будет подписана с использованием сертификата распространения, и AFAIK не будет работать нигде, если он не установлен через хранилище.

Ответ 3

Вы можете сделать версию приложения OTA (в эфире) (тогда вы можете загрузить эти двоичные файлы с сервера) или просто создать файл ipa и установить его из iTunes.

Чтобы сделать это, вы должны создать профили обеспечения adhoc. Проверьте документацию Apple, так как это немного сложно объяснить

Ответ 4

Если ваш архив был создан для устройства (AdHoc или Release), вы можете сделать ipa файл и установить его на устройстве (объяснение ниже в инструкции). Если он был создан для симулятора (то есть i386 cpu architecture), вы не можете создать ipa для устройства.

Насколько я знаю, вы можете сделать ipa из архива Xcode 4 с помощью командной строки:

/usr/bin/xcrun -sdk iphoneos PackageApplication
  "/absolute/path/to/MyApp.xcarchive/Products/Applications/MyApp.app"
  -o "/absolute/path/to/MyApp.ipa"

После того, как вы получите ipa, вы можете установить его на физических устройствах, если он был создан с правильной подписью, иначе вы можете переписать его