美文网首页
iOS-iPad 旧iPad项目不能全屏运行,两边留有黑边

iOS-iPad 旧iPad项目不能全屏运行,两边留有黑边

作者: Beautifu1Mooo | 来源:发表于2021-01-26 22:07 被阅读0次
努力💪!!奋斗!!.png

大噶好啊我系肥Mo
2021, 我拥有了一台M1 MacBook for dup code
在M1上, 任何值得记录的事情我都会写下来,欢迎交流!!
Thanks all the bugs!!
2021, Good Health Good Luck!!🍻


Issue reported from Client:

最近客户报过来一个问题,说我们的app在他的iPad air4上不能全屏运行🤔


大家看到吗左右上下都是黑边呜呜阴工猪猪🐷.png

Reproduce case

由于我手上没有iPad air 4。。。(不怕🙅‍♀️!!)
我一直是用Home Button的iPad测试,是没问题的,
那就直接定位到是全面屏iPad搞事
我们可以用模拟器去reproduce呢个case。

我相信很多项目其实是不能用模拟器跑的,因为项目上可能会用到一些第三方库,这些库是不能通过模拟器进行编译的,这里我们可以看一个图👇


各种设备运行所需要的架构.png

这里有个小技巧要分享给大家的就是:我们现在是production fixing,目的是为了解决办法的,我们在没有真机的情况下一定要whatever跑模拟器,由于项目的保守,我们一直都用Xcode10.1 开发,Xcode10.1 是没有iPad air 4 模拟器的,那我们选择iPad pro 12.9, iOS13.2.2(全面屏iPad),有任何报错的地方直接无情注释,直到可以运行在模拟器

果不其然,在iPad pro 12.9 一样, 出现黑边👇

召唤无情黑边.png

而正常是这样显示的👇


全面屏显示 没有黑边的.png

Root cause chasing

  • 这种情况就好像iPhone上的app无情运行在iPad上,用是能用的,只是分辨率没调过来啧,如果是这种情况一般都是开发者没有勾选Universal选项,但是项目上的app是纯iPad app来的,不考虑这种情况


  • 项目上规定要使用Xcode10.1开发,用的sdk是iOS12去构建的app,会不会是因为版本太低了呢??于是我新建了一个项目,结果是正常能全屏显示的。🤔
  • 我尝试去打印运行时的mainscreen 的宽高,发现最顶层的页面宽高是 1024*768,但模拟器的是iPad pro 12.9 inch, 宽高应该是1366 * 1024,而且仔细观察iPad 的状态栏是跟随着应用的宽度的,并不是全屏,这个时候应该不是某个页面的设置问题,是整体显示模式的问题



  • 查阅资料后发现,启动图的大小会影响程序能不能满屏显示,于是查了一下项目的启动图大小,发现高分辨率的启动图是准备好的,很明显不起作用👇


  • 我又发现项目是用LaunchImage 设置启动图


  • 其实苹果爸爸已经不赞成通过launchimage去设置启动图,取而代之的是使用launchscreen.storyboard,我们的项目是企业级app,不需要上app store,否则
    20204月开始,所有支持iOS13的App必须提供LaunchScreen.storyboard,或将无法提交到AppStore进行审核。

    image.png

Workaround

我的这个项目的启动图是全黑的,所以没有太多顾虑,如果是真的有启动图的需要,則需要在Launchscreen.storyboard设置相关的Image view控件,并且做好Autolayout for 各种尺寸的适配

  1. 创建LaunchScreen.storyboard
    File->new->Launch Screen, 命名为 "LaunchScreen.storyboard

  2. 删除所有launch image setting in Build Settings



    删除Image.xcassets 下所有启动图的设置


  3. 设置 "LaunchScreen.storyboard" 作为 Launch Image Source File


  4. Rebuild搞掂😎

Done the bug fix.

写作初心

梳理,积累,分享,交流

靴靴你能看到这里
欢迎交流
下一篇见 ᕕ(ᐛ)ᕗ

相关文章

网友评论

      本文标题:iOS-iPad 旧iPad项目不能全屏运行,两边留有黑边

      本文链接:https://www.haomeiwen.com/subject/jcnizktx.html