0

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

4

1 回答 1

2

您不会因为不使用 AutoLayout 而被拒绝。如果您愿意,这是一个可供您使用的功能。对于 iPhone 5,这不是强制性的。

关于 iOS 6 SDK,我强烈建议针对它进行构建。不保证 Apple 以后会继续接受带有 iOS 5 或更低版本的 Base SDK 的应用程序,所以您现在应该做好准备。

至于 iPhone 5,您仍然可以针对 iOS 6 SDK 构建,并且支持 iPhone 5 的“高模式”。要支持 tall 模式,您需要包含Default-568h@2x.png,这将表明您提供了 iPhone 5 的启动图像,表明该应用程序也支持它。如果您包含此图像,则应用程序将以信箱模式运行,模拟 iPhone 4S 或以下设备的显示。

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

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

然后在整个应用程序中,如果您需要检查您是否在 iPhone 5 上运行,请调用IsRunningTallPhone()(或调用任何您认为最好的名称)

于 2012-11-01T11:27:03.077 回答