Я создал мое приложение с помощью xcode 5 для поддержки ios 6 или выше. Я хочу, чтобы одно и то же приложение работало с версиями менее 6. Я не использую автомат . Я изменил все свои файлы nib для сборки с помощью os 4.3 или новее. Но устаревшие методы не работают на более старых версиях. Каков наилучший способ поддержки нескольких версий ios (в моем случае ios 4.3 - ios 7.0) ?.Как поддержать приложение от версий iOS 4.3 до iOS 7
ответ
Пожалуйста, избегайте цели развертывания как 4.3. используйте эту ссылку, в настоящее время нет устройства, использующего 4.3. его пустая трата времени
вы можете использовать только собственный код или xib, если хотите, приложение с целью развертывания в качестве 4.3.
, потому что автоматическая раскладка не поддерживает 4,3 и 5,0
stroyboard не поддерживает 4,3
http://www.raywenderlich.com/42591/supporting-multiple-ios-versions-and-devices может дать вам хорошие советы.
короткая часть статьи:
неподдерживаемых классы
Иногда вы хотите использовать класс, который существует в базовой SDK, но не в вашей цели развертывания. Для этого вам нужно , чтобы проверить доступность этого класса во время работы, чтобы избежать сбоя вашего приложения. Он выходит из строя, потому что это то, что будет выполняться во время выполнения Objetive-C
, если вы попытаетесь использовать класс, который не существует. Начиная с iOS 4.2 классы слабо связаны, поэтому вы можете использовать метод класса + для выполнения проверки выполнения во время выполнения . Например:
if ([SLComposeViewController class]) {
//Safe to use SLComposeViewController } else {
//Fail gracefully }
неподдерживаемых методов
Аналогично, если вы используете метод в базовом SDK, который не существует в вашей цели развертывания , вы можете избежать неприятных аварий с помощью мало интроспекции. Методы -respondsToSelector:
и +instancesRespondToSelector:
будет как сделать трюк, как показано в примерах кода ниже:
if
([self.image respondsToSelector:@selector(resizableImageWithCapInsets:resizingMode:)])
{
//Safe to use this way of creating resizable images } else {
//Fail gracefully }
То же самое идет для проверки существования методов класса, за исключением того, вы звоните respondsToSelector: по классу сам, например:
if ([UIView
respondsToSelector:@selector(requiresConstraintBasedLayout)]) {
//Safe to use this method } else {
//Fail gracefully }
это не поддержка 4.3 выше ссылка – codercat
Что я хотел бы предложить вам, сначала заблокируйте свой код по версии. Я имею в виду make block для устаревших методов, таких как IOS 7, IOS 6, как показано ниже. Затем попробуйте найти соответствующий метод, поддерживаемый этой версией. Но насколько я знаю, вы не можете полностью поддерживать версию 4.3, например 7. Как @rckoenes говорит 80% is on iOS 7 the rest is on 6 and some are on 5. 4.3 is hardly used
, так что я также не даю поддержки ниже 6.0. Так повезло.
- 1. обновления IOS приложение для старых версий IOS
- 2. Обновление ios от iOS 6 до iOS 7
- 3. IOS 7 и IOS 6 различных версий одного приложения
- 4. iOS 5 MapKit, MKPlacemark, приложение iOS 4.3 на iOS 5
- 5. Поддерживает ли разрешающий бит код для версий iOS до iOS 9 (iOS 7/8)?
- 6. координаты устарели от iOS 7
- 7. Как создать приложение с iOS 5.0 для iOS 4.3?
- 8. Как проверить приложение ios в версии ios 4.3?
- 9. Как запустить приложение ios 4.3 в ios 4.0
- 10. раскадровки недоступны на ios 4.3 и до
- 11. Xcode 4.3/iOS 5.1
- 12. Как поддержать функцию открытия в приложении iOS?
- 13. Как поддержать iOS Timezone override для моего приложения календаря iOS?
- 14. Как поддержать загрузку фона в iPhone (iOS)
- 15. Обновление iPhone 3GS от iOS 4.2.1 до 4.3.x
- 16. Переход от 4.3 до SDK Ios 5 SDK
- 17. iOS приложение выходит до запуска
- 18. Как поддержать приложение iOS для iPhone, iPad и iPad Mini
- 19. конвертировать приложение ios 6 в ios 7
- 20. iOS Публикация на несколько версий ios
- 21. Используйте iOS 7 перед iOS 7
- 22. От iOS до OSX
- 23. Как правильно проверить контроль версий iOS (от iOS 7.0)
- 24. xcode5 для iOS 4.3
- 25. Как создать приложение IiPhone/iPad, предназначенное для iOS 4.3 и более поздних версий?
- 26. Анимированные проценты до iOS 7
- 27. IOS расширения доли, как поддержать яблоко новости
- 28. Лучшая практика. Сделать приложение iOS универсальным с поддержкой iOS 5, iOS 6 и iOS 7 UI
- 29. Имеет ли Unity 4.3 целевую версию iOS 7?
- 30. Ошибка подключения 4.3 ios
Зачем нужна поддержка iOS 4.3, 80% на iOS 7, остальные на 6, а некоторые на 5. 4.3 вряд ли используются.Но в стороне, да, используйте NIB и проверяйте, доступен ли метод, который вы вызываете, в al-версии. Если вам нужно вызвать какой-либо метод, недоступный в версии, используйте 'responsesToSelector:', чтобы проверить, поддерживается ли он. – rckoenes
Мое требование - поддерживать устройства от ios 4.3 до ios 7 ... OK, используя responseToselector, узнает, поддерживается ли оно или нет. Что делать, если его не поддерживает? – sujay
взгляните на этот вопрос ... http://stackoverflow.com/questions/12776932/supporting-ios-4-3-to-ios-6-0 –