Тестирование и разработка приложения для iOS ранних версий (5,5.1,6,6.1)

Для разработки приложений на Apple iOS я использую продукт Xamarin (ранее monotouch). По умолчанию там будет установлен iOS 6.1 Simulator и нет возможности тестировать приложение на более ранних версиях операционной системы.

Для установки симуляторов необходимо их скачать и установить через XCode, без него, к сожалению, здесь не обойтись. Для этого в проходим в пункт меню XCode > Preferences > Downloads и здесь скачиваем необходимые и доступные симуляторы.

установка симулятора ios

После установки необходимо перегрузить Xamarin Studio, и при компиляции можно будет выбрать необходимую версию симулятора:

iOS simualtor 5.0

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

labelNotissimus.AttributedText = new NSAttributedString ("NOTISSIMUS", underlineStyle: NSUnderlineStyle.Single);

Решение выбрано самое простое, в 5-й версии не подчеркивать ссылку и код обернуть следующим образом:

if (IOSDeviceHardware.IsiOS6) {
                labelNotissimus.AttributedText = new NSAttributedString ("NOTISSIMUS", underlineStyle: NSUnderlineStyle.Single);
            }
//Где метод IsiOS6:
public static bool IsiOS6 {
            get {
                return UIDevice.CurrentDevice.CheckSystemVersion (6, 0);
            }
        }

В результате получим следующее на iOS 5.0 Simulator и iOS 6 Simulator соответственно

ios 5 ios 6

Комментарии

comments powered by Disqus