【问题标题】:iPhone app is running at iPhone 4 size with black bars after updateiPhone 应用程序在更新后以 iPhone 4 大小运行,带有黑条
【发布时间】:2019-07-05 11:01:36
【问题描述】:

以前该应用支持 iPhone 5s/SE 屏幕和 iPhone 6-8 屏幕(不是加大尺寸),这是使用启动图像完成的。因此,在 Plus 尺寸的设备和 iPhone X* 设备上,它会在应用的上方和下方显示黑条。

然后我们发布了一个更新,其中添加了一个启动故事板。在此更新的整个开发过程中,屏幕尺寸在我们拥有的每台设备上都能完美运行。然而,在 App Store 上发布更新后,对于一些用户来说,该应用程序现在显示为 iPhone 4 尺寸(高/宽比为 1.5)。所以现在 SE 上受影响的用户有黑条,而 X* 用户有更大的黑条。这似乎不会影响所有人,我们无法在我们的设备上复制。

部署目标是 10,所以应该没有理由使用旧的启动映像方法。而且这次更新肯定是在启动屏幕上使用了故事板。

其他人也发生过类似的事情吗?或者,在发布从单个启动图像移至情节提要方法的更新时,您有什么特别需要做的吗?

所有现有答案要么说确保您拥有正确的屏幕截图,要么使用 xib/storyboard。我们没有任何屏幕截图,肯定是在使用故事板。

编辑:现在重新启动应用程序几个小时后,用户开始看到正确的大小,这意味着这是一个 iOS 缓存问题。

【问题讨论】:

  • 可能是stackoverflow.com/questions/35192425/…(和其他)的副本。这个缓存问题已经在这里讨论过很多次了。
  • 对于在 App Store 上更新的应用程序,该问题无助于发生在真实用户身上的问题,您无法告诉他们所有人重新启动设备(甚至卸载并重新安装应用程序)。同样在这里,它似乎不仅仅是一个缓存问题,因为这并不能解释黑条变得比以前大,或者出现在以前没有它们的设备上。
  • 我想我们可以解释一下:运行时现在看不到启动图像,并且它还没有看到启动屏幕故事板,所以你变成了 iPhone 4。事实上,我在 App Store 上看到过应用更新,他们确实试图告诉他们的用户重新启动或卸载/重新安装。我希望您能就此向 Apple 提交错误报告;你不会是唯一的人,但如果我们想让他们做点什么,越多越好。
  • 谢谢,这可以解释它认为缓存可以以一种旧数据因新数据而被删除但不会被新数据取代的方式工作似乎很奇怪。我们已向 Apple 提交了技术支持事件,因此希望能有所进展。我们的数据表明,大约 8-10% 的用户(这是很多)发生了这种情况,我们会回复任何在社交媒体/应用程序评论/等上留下反馈的人,但这远低于 8%。随着自动更新(我们正在分阶段推出),没有人会真正阅读 App Store 发行说明。

标签: ios iphone screen-size


【解决方案1】:

我在 LaunchScreen Storyboard 更改以及从 Launch Images 切换时遇到了类似的问题。这是一个 iOS 错误,有时您需要重新启动设备才能在进行更改时看到正确的 LaunchScreen,这非常奇怪且难以重现。 很可能您的应用程序没有任何问题...

【讨论】:

    【解决方案2】:

    我以前经历过很多。

    原因: iOS 通常将所有应用程序的启动屏幕保存在自己的缓存系统中,因此,除非您的应用程序被加载,否则它可以从缓存中向用户显示启动图像/屏幕。现在,由于您的应用之前有启动图像,现在移动到情节提要中,因此出现了这个问题。

    另请注意,iOS 始终以启动屏幕中的屏幕大小呈现您的应用,这就是您在顶部和底部看到黑条的原因。

    重现方式:每次更新启动屏幕时都会发生这种情况。尝试将一些标签或其他一些组件添加到您的 launchscreen.storyboard 并安装它。您将在一段时间内看不到更新的启动屏幕。

    最佳解决方案(几乎适用于所有人):只需更新您应用的版本号并安装在设备上即可。版本号更新后,会占用新的更新资源。

    如果上述解决方案不适合您,那么您可以尝试这些替代解决方案

    解决方案 01:您的用户可能必须删除旧应用并安装新应用

    解决方案 02:您的用户需要在更新后重新启动设备。

    解决方案 03: iOS 系统本身会在一定时间间隔后刷新自己的缓存,因此您的客户可能会在更新后遇到问题...但会在一段时间后自动解决(大约 3-4 小时)。

    【讨论】:

    • >>> iOS 通常将所有应用程序的启动屏幕保存在自己的缓存系统中,能否请您指出有关此的文档章节?
    • @EvgenyKarkan:Apple 从未发布任何与其私有 API 或系统详细信息相关的文档。但是如果你越狱你的手机,通过终端(越狱后你的 iPhone 上有终端,你可以导航到任何系统目录),探索不同的系统文件夹,你可以检查它是否保存在系统目录中。
    【解决方案3】:

    是的,乔纳森,其他人也遇到过这种情况。

    可悲的是,这是一个真正的 iOS 问题,这个问题是真实存在的(那些否定者请相信)。

    我打电话给 Apple 支持人员和与之交谈的开发人员/支持人员,他们似乎知道和/或听到了这个问题,虽然回复不清楚,但我还是正确地报告了这个问题。 “他们会检查的”。典型的苹果侧身回答...

    现在,当前的解决方案:

    似乎有效的是开/关 iPhone 解决方案,虽然剧烈且非常不方便,但目前它是“经过测试”的唯一解决方法。

    对于没有直接解决您的询问,我深感抱歉,但我认为这件事超出了我们任何开发人员的行动范围,它似乎(尚未确认)是一个操作系统问题,Apple 并且只有 Apple 才能真正解决。

    【讨论】:

      猜你喜欢
      • 2014-03-15
      • 2012-02-10
      • 2013-01-21
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-08
      • 2016-10-22
      相关资源
      最近更新 更多