Могу ли я использовать UIKeyboardType.DecimalPad (в MonoTouch) и при этом сохранить совместимость с iOS 3.x? - PullRequest
1 голос
/ 16 февраля 2011

Apple представила новый тип клавиатуры "десятичная клавиатура" в iOS 4.1 (я думаю).Я хотел бы использовать это в своем приложении, но я также хотел бы, чтобы приложение было совместимо с 3.x.

Я думал, что это будет невозможно, но при настройке моего приложения на поддержку «Минимальная ОС»версия: 3.0 ", она компилируется с этой константой в использовании.

У меня нет устройства 3.x, и я не могу заставить симулятор запустить мое приложение под 3.x,так что я не понимаю, что происходит.Будет ли сбой на устройстве 3.x и, если да, то почему он компилируется, когда я установил компилятор для поддержки 3.0?

Я знаю, что есть способы симуляции на клавиатуре DecimalPad в iOS 3.х, но я особенно заинтересован в этой версии.

Обновление

Мои тесты показывают, что iOS 3.x сопоставляет «недопустимые» типы клавиатуры с клавиатурой по умолчанию.

Ответы [ 2 ]

2 голосов
/ 16 февраля 2011

Запуск вашего приложения на устройстве 3.x приведет к сбою. Он компилируется, потому что ваш SDK новее. К сожалению, вы не можете изменить симулятор на любую версию, например, я могу протестировать только 3.2, 4.1 и 4.2. Всегда полезно держать лежащую старую версию XCode и iPhone SDK (их можно установить рядом).

Конечно, вы все еще можете использовать новый десятичный блок в своем приложении, просто поместите его в условие, которое проверяет версию iOS и, таким образом, поддерживает совместимость с 3.x (см. Как проверить версию iOS? о проверке версии iOS).

1 голос
/ 16 февраля 2011

В симуляторе, я полагаю, вы можете запустить другую версию SDK, изменив Оборудование -> Настройки версии.

Ваше приложение компилируется, потому что у вас установлена ​​более новая версия SDK (4.1+). Однако установка на устройстве, предшествующем iOS 4.1, может вызвать проблемы во время выполнения.

...