美文网首页
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