我需要在iOS 6
和iOS 7
上测试我的应用。这是我到目前为止所做的:我在iOS 7上开发了一个应用程序,但我也需要支持iOS 6。
但是因为我需要对iOS 6
和iOS 7
采用稍微不同的布局,我正在为两者制作单独的xib。我已经测试了适用于iOS 7的应用程序,现在我需要为iOS 6进行测试。
我已经下载了iOS 6 simulator
。请注意,我没有真正的iOS 6
设备,我只有iOS 7
设备。现在请告诉我如何在iOS 6上测试它以及如何以编程方式检测我的手机iOS version
正在运行。
在代码中,我需要检查设备正在使用的iOS
版本,然后相应地加载xibs
。
这是我用来做的代码。
float sysVer = [[[UIDevice currentDevice] systemVersion] floatValue];
if (sysVer >= 7.0)
{
NSLog(@"this is ios 7");
}
else
{
NSLog(@"this is ios 6");
}
我目前正在iPhone 5
上iOS 7
上测试它。
所以,我已经在iOS 7
上测试了我的应用,但在iOS 6
上进行测试时(在deployment target
中选择“iOS 6
”为target settings
并且project settings
),我仍在控制台上看到 - this is ios 7
。
但是,键盘外观为iOS6-like
.. !!
为什么会这样?为什么我无法检查iOS版本???
答案 0 :(得分:1)
部署目标和系统版本不一样。
基本上,您在iOS 7模拟器上运行为iOS 6编译的应用程序。这就是为什么它报告版本为7,并使用iOS 6的风格。
您需要在模拟iOS 6上运行您的应用,方法是从Xcode左上方的目标下拉列表中选择它:
(也许您还没有下载iOS 6的模拟器,首先检查Xcode首选项。)
或者更好的是,在实际的iOS 6设备上。
无论如何,如果您打算在iOS 7设备上使用原生iOS 7外观,请不要将部署目标降低到6.保持在7。