iOS - 应用程序因准则 2.10 被拒绝 - iPad 的解决方案 - 如何修复?

iOS - App Rejected Because Of Guideline 2.10 - Resolution For iPad - How to Fix?

我的 iPhone 唯一的应用程序已被苹果拒绝,原因如下:

We noticed that your app did not run at iPhone resolution when reviewed on iPad running iOS 9, which is a violation of the App Store Review Guidelines.

我现在了解到 iPad 有自己的 iPhone 模拟器,您可以在上面 运行 iPhone 应用程序。初步调试后,我注意到,在 iPad Air (iOS 9.0) 上进行测试时,我的 iPhone 5 故事板正在其自己的 iPhone 模拟器中使用。

这是它在 iPhone 5:

上的(正确)外观

http://i.stack.imgur.com/SMHyx.png

这是它在 iPad 上的(错误)外观:

http://i.stack.imgur.com/2PHG4.png

由于 iPad 使用我的 iPhone 5 故事板,为什么它不能正确缩放所有内容?我该如何解决这个问题?

*****编辑*****

我发现我在调试的时候出错了,iPad的iPhone模拟器的显示高度是480,也就是一个iPhone4的大小。我的以下代码导致显示我的 iPhone 6+ 故事板:

CGSize result = [[UIScreen mainScreen] bounds].size;

//get the right storyboard for the device.
if(result.height == 568)
{
    storyBoard = [UIStoryboard storyboardWithName:@"iPhone5" bundle:nil];
    NSLog(@"IPHONE 5 STORYBOARD!");
}
else if(result.height == 667)
{
    storyBoard = [UIStoryboard storyboardWithName:@"iPhone6" bundle:nil];
    NSLog(@"IPHONE 6 STORYBOARD!");
}
else //iPhone 6+
{
    storyBoard = [UIStoryboard storyboardWithName:@"iPhone6Plus" bundle:nil];
    NSLog(@"IPHONE 6+ STORYBOARD!");
}

但是,我认为我只为 iPhone 5 及更高版本制作了我的应用程序,将其设置为 iOS 8 及更高版本,这意味着我没有 iPhone 4故事板。我该如何解决这个问题?

iPad 当您在 iPad 中 运行 iPhone 应用程序时,iPhone 始终显示等于 iPhone 4S 或更低的视图大小。因此,请尝试更改您的应用,使您的应用能够在 iPhone 4 模拟器或设备上正常工作。

否则无法按设备限制您的应用。由于您的应用是 iOS 8 及更高版本,因此您必须支持 iPhone 4S 的分辨率。 iPhone 4S也快要iOS9了,近期也得支持一下。

您可以通过正确支持 iPad(有一个 iPhone + iPad 应用程序)或提供 3.5 英寸的故事板来解决问题 - 或者,使用 4英寸故事板,正确使用布局约束,并可能调整一些属性。

选择正确故事板的明显变化是:if (height <= 568) .. else if (height <= 667) ... else ... 568 或 667 像素高是 6+,如您所见,这是胡说八道。

您也可以只支持 iPad 并为 iPad 使用 6+ 故事板。同样,正确使用布局约束。