应用程序设置为' iPhone',但它仍然可以在iPad上全屏显示?

时间:2017-12-19 20:58:24

标签: ios iphone ipad

我试图提交我的iPhone'应用程序到App Store,但他们拒绝它的错误,因为它需要在iPhone上以iPhone分辨率运行。我认为它会自动执行此操作,因为我将我的应用程序设置为“iPhone'应用程序,而非通用应用程序。然而,出于某种原因,我的iPhone应用程序仍然试图在iPad上运行时拉伸到全屏。见下面的屏幕截图。

enter image description here

Apple Store回来了:

指南2.4.1 - 性能 - 硬件兼容性

我们注意到,在运行iOS 11.1的iPad上查看时,您的应用未按预期运行或显示。有关详情,请参阅随附的屏幕截图。

后续步骤

要解决此问题,请修改您的应用以确保其按预期运行并在iPad上以iPhone分辨率正确显示。即使您的应用是专为iPhone开发的,用户仍然可以在iPad上使用您的应用。

-

在手机上,它显示正确:

enter image description here

所有滚动视图的约束如下:

enter image description here

1 个答案:

答案 0 :(得分:2)

好问题 - 很可能你遇到了这个简单的问题:

在autolayout中,您必须约束所有视图。

有时你会忘记约束一个视图(或者也许是所有视图!)

在某些简单的情况下,视图仍然“有效”。

在你的情况下,由于运气不好,主要观点仍在“正常”,它们正在合理地填满屏幕。

为了让您入门,请确保附加所有四个限制 - 左侧,右侧,顶部 - 。

enter image description here

(您必须看到红色框区域中显示的内容。)

Apple的一个令人难以置信的愚蠢决定:试图让事情变得“更容易”,如果你完全忽略视图上的限制它仍然会“工作”(它试图最好适应它)在,使用Xcode行为中的一些默认值或其他东西,这是完全愚蠢的。)

Apple有一个非常糟糕的主意:当然,如果缺少约束,它应该不会编译。 (当然,在不寻常的情况下,你可以把它们放在运行时或其他任何东西,并标记它;但通常这是一个计划错误。)

同样,如果您忘记一个约束,则会出现错误。但是,如果你忘记所有,那将非常令人困惑,它会出现错误甚至是警告!

你会得到你描述的问题。

很可能你遇到了其他一些问题,但这是通常的简单问题。