Могу ли я построить симулятор 4.x, но запустить в симуляторе 3.x? - PullRequest
0 голосов
/ 07 ноября 2010

Хорошо, до этого были некоторые вопросы, на которые я ссылался, и я даже читал некоторые из бывших в употреблении отчетов о людях, которые успешно это делали, но до сих пор я не нашел конкретного ответа.

По сути, я хочу создать приложение для симулятора с использованием iOS 4.x, а затем запустить его на симуляторе 3.x.

У меня установлены оба SDK, так что все, что мне нужно, это последняя миля, чтобы приложение появилось в симуляторе 3.x.

Я попытался просто скопировать приложение из Библиотеки / Поддержка приложений / iPhone Simulator / 4.2 / Приложения в Библиотеку / Поддержка приложений / iPhone Simulator / 3.0 / Приложения, но оно не отображается при загрузке симулятора 3.x. Есть бинарный список под названием applicationtate.plist, который, я думаю, отслеживает, какие приложения установлены на симуляторе, но я не знаю, что такое бинарный формат, поэтому я застрял на этом этапе.

Кому-нибудь удалось загрузить приложение 4.x в симулятор 3.x? И если да, то как ты это сделал?

Ответы [ 2 ]

0 голосов
/ 20 июня 2011

Ответ: Нет, вы не можете собрать симулятор 4.x и запустить его на симуляторе 3.1.x или более ранней версии из-за фундаментальных изменений в работе симулятора.

Единственный способ протестировать поддержку 3.x - это запустить ее на устройстве 3.x (после установки минимальной цели развертывания) или использовать более старый xcode, который поддерживает симулятор 3.x (что невозможно, если вы используете Xcode 4, кроме iPad 3.2).

Примечание. Установка цели развертывания не проверяет совместимость со старыми операционными системами. Это операционная система, которая действительно запускается (например, «Симулятор iPhone 4.3», «Симулятор iPhone 4.0», «Симулятор iPad 3.2» или реальное устройство).

Конечно, теперь, когда пользователи 3.x составляют менее 10% от общей численности населения, поддерживать его больше не стоит.

0 голосов
/ 01 мая 2011

Почему ты вообще пытаешься это сделать? Чего ты пытаешься достичь? Если вы действительно хотите, чтобы приложение работало на iOS 3.x, просто укажите это в xcode и не беспокойтесь о реальном симуляторе. Симулятор может работать под управлением iOS 5.0 для всего, что вам нужно, если вы установили «Цель развертывания iOS» на «3.0» в настройках проекта xcode. Это обеспечит совместимость приложения с iOS 3.x и выше. Очевидно, что вам все равно нужно убедиться, что вы не вызываете методы из SDK 4.x, когда он будет работать на устройстве iOS 3.x. Если это то, что вы пытаетесь проверить, то то, что вы делаете, на самом деле не сработает. Вы должны (как советует Apple) всегда брать реальное устройство с целевой версией прошивки и проверять его на этом. Возьмите старый iPod, например, с iOS 3.x и попробуйте протестировать свое приложение на нем, чтобы убедиться, что вы не вызывали методы iOS 4.x при работе под старой прошивкой.

...