2013-06-02 1 views
1

Я не мог найти в документации Apple (Cocoa Auto Layout Guide), что является самой низкой версией iOS, поддерживающей эту функцию, и никаких сообщений, связанных с iOS ... возможно, это зависит только от версии Xcode, а не на версии iOS? Мне нужно разработать приложение IOS, которые должны быть совместимы с последней версией IOS вплоть до 4,3Автоматическая компоновка обратной совместимости в iOS

Благодарности

ответ

1

Autolayout был введен в WWDC 2012 и поддерживается начиная с прошивкой 6. Это определенно не работает с прошивкой 4,3.

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

+0

Да, я знаю, что поддержка с прошивкой 4.3 будет иметь много технических недостатков, а также дополнительные сложности в разработке, но я получил это требование. Спасибо за ответ – AppsDev

+0

У вас есть еще один вопрос ... можно ли проверить код текущей версии iOS и воспользоваться автоманией, если версия 6+? Или просто я не могу использовать эту функцию вообще? – AppsDev

+0

Никогда не пробовал, но я не думаю, что это хорошая идея. Вам, вероятно, придется выполнять работу дважды. –

2

Один из способов быстро найти это - установить цель развертывания файла XIB/Storyboard напрямую. По умолчанию он настроен на последнюю версию SDK. Откройте XIB/SB, а в Инспекторе файлов (правая панель) выберите 4.3 (или что угодно) в качестве цели развертывания.

Example of an illegal configuration

Если Auto Layout включена, Xcode будет отображаться сообщение об ошибке "Illegal Configuration" для этого файла:

Illegal Configuration Error

Как вы можете видеть, это IOS 6+ только. Auto Layout использует новые API во время выполнения, поэтому использование последней версии Xcode не помогает, и вы не можете использовать автоматическую компоновку в XIB. Тем не менее, вы можете иметь отдельные XIB для разных версий системы, но это звучит как много (обслуживание) работы.

Настройка правильной цели развертывания имеет еще одно преимущество: вы будете предупреждены, если используете классы, которые были введены позже цели развертывания.

Unavailable Class Error

+0

Хорошо, спасибо за объяснение! – AppsDev