IOS: Нет никакого способа построить для armv6 в Xcode 4.5?

Начиная с Xcode 4.5, возможность создания устройств armv6 больше не предоставляется (iPhone/iPod touch 1-го и 2-го поколения). Это означает, что нет новых версий нашего приложения для iPhone 2G и 3G, что очень неудачно. Кто-нибудь знает, будет ли обходной путь? Я действительно не вижу никаких технических причин для этого.

Ответ 1

У вас может быть установлено несколько версий xcode. Раньше это было исправление, требующее использования более старой функции xcode.

Это обходной путь, и файлы проекта могут в конечном итоге развиваться таким образом, что больше не поддерживаются старые инструменты, но на данный момент это позволит вам создавать более старые цели.

Если у вас есть один проект, с которым вы хотите работать в обеих версиях XCode, тогда вам может понадобиться управлять отдельными файлами управления проектами с помощью трюков управления версиями и/или перетасовки файлов.

Я также рекомендовал бы, чтобы изменения структуры проекта и управление двоичными файлами (например, модели Core Data) произошли с помощью старой версии, поскольку XCode 4.5 будет обратно совместим, но переадресация с поддержкой не всегда обеспечивается.

Ответ 2

Еще одно решение, которое я нашел в блоге chpwn: Здание для armv6 в Xcode 4.5.
Это позволяет работать с Xcode 4.5, но скомпилировать с использованием 5.1 SDK. Недостаток: вы не можете использовать iOS 6 SDK при использовании этого трюка, и вы не можете построить для armv7s.

Ответ 3

Да, есть обходные пути. Если вам действительно нужно использовать новые функции iOS 6, попробуйте одну из первых ответов на пару на этот связанный вопрос. Первый ответ требует использования как Xcode 4.4, так и 4.5. Если вы никогда не захотите открыть Xcode 4.4, то используйте второй ответ.

Если вы просто хотите создать исполняемый файл в Xcode 4.5, который работает на устройствах armv6, armv7 и armv7s, без фактического использования новых API-интерфейсов iOS 6 SDK, вы может увидеть мой ответ на другой вопрос, который намного проще... но имеет ограничение, что вы не можете использовать новые функции iOS 6 на устройствах iOS 6.

Ответ 4

Вы можете добавить строку "armv6 armv7" в качестве архитектуры. Не выбирайте предопределенные настройки.