Мне интересно, будут ли проблемы совместимости с OS4.0, если мое приложение будет построено с помощью SDK 4.1 или это не проблема?Какую версию iPhone SDK следует использовать для OS4-приложения?
ответ
Короткий ответ на ваш вопрос: Используйте Base SDK версии по крайней мере 4.0 для вашего приложения и развертывания целевой версии в точности 4.0.
Я отклонил оба ответа, потому что они неправы или, по крайней мере, неполные.
При создании приложений есть два параметра, которые вы должны знать:
Там является Base SDK Version, которая определяет против какой версии SDK приложение будет компилироваться.
Существует также Deployment Target Version, который определяет версию прошивки, что ваше приложение требует в низкого. Вы можете установить это как 2,1 в Xcode, но App Store не будет принимать версии ниже, чем 3.1.3 на данный момент.
The Base SDK версии может быть выше тогда развертывания Target Version. Это просто означает, что ваше приложение обратно совместимо со старой версией iOS. Это также означает, что ваше приложение должно принимать решения во время выполнения, чтобы не использовать более новые функции при работе в старой версии.
Например, MFMessageComposeViewController
был добавлен в версию 4.0, поэтому, если ваше приложение настроено так же, как и на 3.1.3, тогда вы должны использовать NSClassFromString()
, чтобы узнать, действительно ли этот конкретный класс доступен, прежде чем использовать его.
Здесь много вопросов о переполнении стека о том, как открыть доступную функциональность, поэтому я не буду повторять эти методы здесь.
В зависимости от API, которые вы будете использовать. Предположим, вы хотите внедрить текстовые сообщения в приложении (MFMessageComposeViewController
) и хотите, чтобы ВСЕ ваши конечные пользователи (будут определены как EU), чтобы получить доступ к этой функции, вам придется скомпилировать ее с iOS 4.0. Но предположим, что вы хотите, чтобы текстовые сообщения в приложении были дополнительными и «плюс» для ваших EU, вы просто скомпилируете свое приложение против iOS 3.0 (скажем).
Надеюсь, что я ответил на ваш вопрос :-)
И несколько важного замечание:
Поведения делает изменений по выпускам ОС. Были куча изменений в 3.0 (у нас были проблемы с UITableView/UITableViewCell):
- Некоторые изменения произошли на старых приложениях (например, скомпилированные для 2.2.1). Я забыл, что это такое.
- Некоторые из них были в наборе инструментов (я думаю, они изменили, как наконечники были скомпилированы с помощью ibtool, что-то вроде настройки как изображения, так и пользовательского представления для UITableViewCell).Это произошло, когда мы обновили SDK на сервере сборки, даже если мы не коснулись «Base SDK»
- Некоторые из них происходят только при компиляции с базовым SDK 3.0 (UIKit автоматически определяет, какую версию вы связали противы и имеют режимы обратной совместимости для некоторых вещей)
Кроме того, были некоторые выполнения/изменения C++ в GCC 4.2, что означает приложение GCC 4.2 работает на OS 2.2.1 разбились при заливке без знака Int/долго float/double или с помощью std :: ostringstream. С тех пор я добавил проверку на версию GCC.
Так нет, компиляции с новой SDK может результат в вопросах — вы не можете рисковать, если есть ограничения по времени (у вас нет времени, чтобы реализовать многозадачность, или у вас нет времени сделать полный повторный тест и исправить все ошибки или так далее). Или, может быть, вы по-прежнему хотите поддерживать 2.2.1 по какой-то странной причине (4.0-разрядная поддержка «2.x»), что фактически не позволяет отлаживать приложения на устройствах 2.x).
Обычно ничего не ломается по второстепенным выпускам ОС (дисконтирование 3.1/3.2). Я рекомендую обновлять SDK, как только у вас будет время; не уклоняйтесь от новых функций только потому, что у старых ОС их нет.
- 1. Какую версию iPhone 3.0 SDK следует загрузить?
- 2. Какую версию MinGW следует использовать
- 3. Какую версию Python следует использовать?
- 4. Какую версию WindowsAzure.Storage следует использовать?
- 5. Какую версию Laravel следует использовать?
- 6. Какую версию flexmojos следует использовать?
- 7. Какую версию CXF следует использовать?
- 8. Какую версию Delphi следует использовать?
- 9. Какую версию NodeJS следует использовать для Ionic?
- 10. Какую версию jquery следует использовать для jPrompt?
- 11. Какую версию recyclerview следует использовать в dependecies?
- 12. Какую версию FB SDK следует использовать с iOS 5?
- 13. Какую версию IOS SDK я должен использовать?
- 14. Какую версию Android Studio следует использовать?
- 15. Какую версию плагина Scala Eclipse следует использовать?
- 16. Какую версию EnDAt EPD следует использовать?
- 17. Какую версию appcompat следует использовать в зависимостях?
- 18. Какую версию панели инструментов/апплета следует использовать?
- 19. Какую версию клиента mysql следует использовать?
- 20. Какую версию IMalloc следует использовать в Delphi?
- 21. Какую версию использовать для RoboGuice
- 22. Какую версию SDK скачать?
- 23. Какой iPhone SDK для PayPal следует использовать?
- 24. Какую версию Eclipse следует загрузить?
- 25. Какую версию html использовать?
- 26. Какую версию Xcode следует использовать для запуска моего приложения на устройстве iPhone 3gs 6.1.2 (10B146)
- 27. какую версию mongodb следует установить для windows6?
- 28. Какую версию TurboGears следует использовать для нового проекта?
- 29. Какую версию Eclipse wtp следует использовать для maven?
- 30. Какую версию Python следует использовать для веб-разработки?
Вы правы относительно целевой версии развертывания, я полностью пропустил это – rano
Спасибо, это то, что я искал. –