Я только что что-то создал сегодня, указав цель развертывания iOS 4.0. Поскольку в архитектуре указан только armv7, Xcode предупредил меня, что для поддержки чего-либо ниже iOS4.2 мне нужно было включить armv6 в архитектуру. Просто отредактируйте это поле, нажмите кнопку «+», когда появится диалоговое окно, и введите буквальное значение «armv6».
В моем случае мы хотим, чтобы наше приложение работало под iOS4 и iOS5. Нам пришлось внести некоторые изменения, чтобы он корректно работал под iOS5, но все эти изменения были сделаны с помощью удобных для iOS4 изменений кода.
Мы также добавили некоторые специфические для iOS5 возможности, позволяющие запускать приложение без сбоев под iOS4. В частности, мы протестировали возможности iOS5, прежде чем пытаться их использовать, и связали библиотеки только для iOS5 как дополнительные.
Таким образом, поддержка iPhone3G в мире iOS5 может означать «мы хотим, чтобы наше приложение работало на iOS4 и выше (независимо от использования какой-либо функции iOS5)», а не «мы хотим убедиться, что наше приложение работает на более старой» устройство под управлением iOS5 ". Здесь есть разница; думаю об этом. : -)
В любом случае, добавить поддержку armv6 обратно очень просто. И я думаю, суть в следующем: в какой-то момент, когда больше нет устройств armv6, о которых нужно беспокоиться (по какой-либо причине), вам не придется создавать их. Apple считает, что каждый должен обновиться до новейшего оборудования как можно скорее. Таким образом, в этом мире нет необходимости использовать инструменты по умолчанию для чего-либо, кроме самого последнего и самого лучшего. :-) К счастью (или нет), мы, разработчики, живем в реальном мире и понимаем, что вам нужно некоторое время поддерживать старые вещи. И я думаю, что команда разработчиков Xcode тоже это знает, поэтому вы можете добавить поддержку armv6 обратно довольно просто.