苹果公司在iOS 4.1中引入了一种新的“十进制键盘”类型(我认为)。我想在我的应用程序中使用这个,但我也希望这个应用程序是3.x兼容的。
我认为这是不可能的,但是,当我的应用程序设置为支持“最低操作系统版本: 3.0”时,它会使用这个常量进行编译。
我手头没有3.x设备,似乎无法强迫模拟器在3.x下运行我的应用程序,所以我对正在发生的事情感到困惑。它会在3.x设备上崩溃吗?如果是的话,当我将编译器设置为3.0支持时,它为什么要编译呢?
我知道在DecimalPad 3.x中有一些在iOS键盘上进行模拟的方法,但我对这个版本问题特别感兴趣。
更新
我的测试表明,iOS 3.x将“无效”键盘类型映射到默认键盘。
发布于 2011-02-16 14:41:39
在3.x设备上运行应用程序将导致崩溃。它确实编译,因为您的SDK是新的。遗憾的是,您不能将模拟器更改为任何版本,例如,我只能测试3.2、4.1和4.2。将旧版本的XCode和iPhone SDK放在一起总是一个好主意(您可以同时安装它们)。
当然,您仍然可以在应用程序中使用新的十进制垫,只需将其放入一个条件中,检查iOS版本,从而保持与3.x的兼容性(参见How to check iOS version?关于iOS版本检查)。
发布于 2011-02-16 13:39:37
在模拟器中,我相信您可以通过更改硬件->版本设置来运行不同版本的SDK。
您的应用程序编译是因为安装了较新版本的SDK (4.1+)。但是,在iOS 4.1之前在设备上安装可能会导致运行时问题。
https://stackoverflow.com/questions/5015750
复制相似问题