Устаревшая поддержка в Xcode 4.2

У меня возникли некоторые проблемы при попытке обеспечить поддержку старых версий для iPhone 3G и iPod Touch 2G под управлением iOS 4.2.1.

Я работаю со Snow Leopard и Xcode 4.2, SDK 5.0. Все работает нормально для новых устройств, но похоже, что старые не любят двоичные файлы, созданные IDE. В основном я нахожу странные ошибки, например:

  • использование компилятора LLVM GCC создает проблемы с сенсорным управлением
  • использование Apple LLVM 3.0 создает странную проблему с некоторым кодом (который останавливает выполнение)

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

Есть ли какая-то особенная уловка? Могу ли я использовать базовый простой GCC в Xcode 4.2?

Кроме того, если я могу использовать GCC, как я могу указать другой компилятор для другой архитектуры? (Я добавил armv6, чтобы иметь возможность собирать и для старых устройств)


person Jack    schedule 16.11.2011    source источник


Ответы (2)


Вы отключили Storyboard и ARC при создании проекта, это должно помочь!

person jvanbaarsen    schedule 16.11.2011
comment
Я думаю, они не активны (это проект, преобразованный из Xcode 4.0) - person Jack; 16.11.2011
comment
ARC поддерживается в iOS 4.2, за исключением слабых ссылок. - person NJones; 24.11.2011

Мне удалось указать параметры оптимизации для каждой архитектуры, сохранив GCC в качестве компилятора: ARMv6 скомпилирован с -O0, а ARMv7 скомпилирован с -O2. Это все исправило!

person Jack    schedule 16.04.2012