iOS - 应用程序因指南2.10而被拒绝 - iPad的分辨率 - 如何解决?

时间:2015-09-22 03:08:56

标签: ios iphone ipad storyboard

由于Apple提供的以下原因,我的iPhone专享应用程序被拒绝了:

  

我们注意到,在运行iOS 9的iPad上进行审核时,您的应用无法以iPhone分辨率运行,这违反了App Store审核指南。

我现在明白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故事板,为什么不正确缩放所有内容?我该如何解决这个问题?

***** EDIT *****

我发现我在调试时犯了一个错误,iPad的iPhone模拟器的显示高度为480,这是iPhone 4的大小。我的下面的代码导致我的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故事板。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

否则,您无法基于每台设备限制您的应用。由于您的应用程序是iOS 8及更高版本,因此您必须支持iPhone 4S的分辨率。由于iPhone 4S也是iOS 9,你也必须在不久的将来支持它。

答案 2 :(得分:0)

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

选择正确的故事板的明显变化是改变:if(height< = 568).. else if(height< = 667)... else ...你的代码说的一切都不是&#39 ;高568或667像素高是6+,你可以看到这是无稽之谈。

你也可以支持iPad,并为iPad使用6+故事板。再次,正确使用布局约束。