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