【问题标题】:Support for iPhone 5 screen size in apps with sdk older than 6.0在 sdk 早于 6.0 的应用程序中支持 iPhone 5 屏幕尺寸
【发布时间】:2012-10-21 21:41:24
【问题描述】:

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

【问题讨论】:

    标签: iphone upgrade ios5 iphone-5


    【解决方案1】:

    您不会因为不使用 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()(或您认为最好的名称)

    【讨论】:

    • @Pappu 如果这个答案满足你的要求,你能接受吗?谢谢
    猜你喜欢
    • 2012-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多