设备:物理 iPhone X(16.0.2)
我的客户的一款遗留应用程序(Objective C)在 iOS 15 上运行良好。 然而,在 iOS 16 上,该应用程序突然“高度缩小”。 应用程序像往常一样打开,但在屏幕顶部和底部有黑色条纹,因为应用程序本身似乎被限制在某个大小。
经过一些调查,我发现设备实际上将其屏幕高度报告为 480pt(iPhone X)。 强制 UIWindow 具有不同的大小无法解决此问题,应用程序仍然受到相同错误高度的限制。 设备似乎“实际上相信”自己比实际更短。
由于这种行为有点类似于在 iPad 上启动 iPhone 应用程序时发生的情况(至少我记得之前看到过这样的情况),我想知道这种行为是否符合 iOS 16 的预期?
如果不是,我真的很感激这里的帮助。
编辑:我了解到 +[UIScreen mainScreen] 在 iOS 16 中已弃用,因此使用它来初始化窗口可能是问题所在。 尽管在 AppDelegate 中似乎没有访问此信息的替代方法。 建议使用 self.view.window.windowScene.screen 来读取设备的屏幕大小,但可惜在 AppDelegate 中无法访问此信息。