我可以使用UIKeyboardType.DecimalPad(在MonoTouch中)并仍然保持iOS 3.x兼容性吗?

时间:2011-02-16 11:17:58

标签: iphone xamarin.ios compatibility uikeyboardtype

Apple在iOS 4.1中推出了一种新的“十进制键盘”键盘(我认为)。我想在我的应用程序中使用它,但我也希望该应用程序兼容3.x。

我认为这是不可能的,但是,在设置我的应用程序以支持“最低操作系统版本:3.0”时,它会使用此常量进行编译。

我手边没有3.x设备,似乎无法强迫模拟器在3.x下运行我的应用程序,所以我对发生的事情感到困惑。它是否会在3.x设备上崩溃,如果是这样,为什么在我将编译器设置为3.0支持时进行编译?

我知道有很多方法可以在iOS 3.x的DecimalPad键盘中进行模拟,但我在这个版本问题上特别感兴趣。

更新

我的测试表明iOS 3.x将“无效”键盘类型映射到默认键盘。

2 个答案:

答案 0 :(得分:2)

在3.x设备上运行您的应用会导致崩溃。它确实编译,因为你的SDK更新。遗憾的是,您无法将模拟器更改为任何版本,例如我只能测试3.2,4.1和4.2。保留旧版本的XCode和iPhone SDK(你可以并排安装)总是一个好主意。

当然你仍然可以在你的应用程序中使用新的小数点,只需将其置于检查iOS版本的条件下,从而保持与3.x的兼容性(请参阅How to check iOS version?关于iOS版本检查)。

答案 1 :(得分:1)

在模拟器中,我相信您可以通过更改硬件来运行不同版本的SDK - >版本设置。

您的应用已编译,因为您安装了较新版本的SDK(4.1+)。但是,在iOS 4.1之前的设备上安装可能会导致运行时问题。