在sdk低于6.0的应用中支持iPhone 5屏幕尺寸

时间:2012-11-01 10:04:45

标签: iphone upgrade ios5 iphone-5

我有一个用较旧的SDK开发的应用程序,即5.0。我想修改我的应用程序,以便它不会在iphone 5上以信箱方式运行。 但同时我不会切换到autolayout功能并使用sdk 6.0。由于我的应用程序有许多硬编码的rects和运行时对齐的UI元素,我将修改我的应用程序以检查屏幕大小并为iPhone 5进行特殊编码。 如果我不通过这种方式升级到SDK 6.0并且不使用自动布局功能,是否有可能存在应用拒绝的可能性?

1 个答案:

答案 0 :(得分:2)

不使用AutoLayout不会被拒绝。如果您愿意,可以使用该功能。 iPhone 5不是强制性的。

关于iOS 6 SDK,我强烈建议反对它。 Apple不保证将来会继续使用iOS 5或更低版本的Base SDK接受应用程序,因此您应该立即做好准备。

对于iPhone 5,你仍然可以针对iOS 6 SDK进行构建,支持iPhone 5'高模式'。要支持高级模式,您需要包含Default-568h@2x.png,这表示您已为iPhone 5提供了启动图像,表明该应用程序也支持它。如果您包含此图片,则该应用将以信箱模式运行,模拟iPhone 4S或更低版本的显示。

如果您确实希望支持iPhone 5,并且想要一种方法来确定您是否正在使用它(对于您的特殊情况),您可以使用#define进行检查(放入一个随处导入的头文件,可能是.pch中包含的头文件。)

#define IsRunningTallPhone() ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPhone && [UIScreen mainScreen].bounds.size.height == 568)

然后在整个应用中,如果您需要检查是否在iPhone 5上运行,请拨打IsRunningTallPhone()(或者按照您认为最好的方式调用它)