美文网首页
iOS17和nvue兼容问题

iOS17和nvue兼容问题

作者: 叫我马小帅 | 来源:发表于2023-11-23 10:31 被阅读0次

笔者最近遇到一个巨坑的bug,深夜boss紧急呼叫,用户进入某个页面闪退,根据观察,闪退的用户都是iOS17的用户,遂打离线包真机调试,调试发现日志为


WeChat41463d1c4ae3ec31f4e3a54e33f190be.png 查阅相关资料, 791700624961_.pic.jpg

遂初步判定为UIGraphicsImageRenderer方法过期导致崩溃,由于页面用到了三方组件,想当然的觉得是原生插件内部方法的问题,不兼容iOS17,遂重写原生插件进行替换,一通重写替换后,在运行,还是崩溃.....笔者麻了~

遂一行行注释代码,发现跟原生插件没啥关系,😭白费大半天功夫,在次寻找,一行行代码注释,发现崩溃在nvue中的css代码上


  .bar {
          position: absolute;
          bottom: 0;
          width: 24rpx;
          background-image: linear-gradient(to bottom, #9724A9, #FFC600);
        }

笔者当时就懵了,一个简简单单的渐变色代码为何会造成崩溃,为何其他的nvue界面不崩,就这个页面崩,继续找不同发现,其他的view在设置渐变色之前都设置了height 高度属性,这个css是在js方法中动态设置的高度,导致崩溃,麻了~当然,也有可能是笔者的离线包太老了导致的,但是这个锅uniapp团队一定得背,太难受了,知道原因所以更好修改了,只要在js中设置高度后再设置渐变色就可以了

        that.styleObject = {'position': "absolute", "bottom": "0",
          "width": "24rpx","height":that.barProcess,"background-image":"linear-gradient(to bottom, #9724A9, #FFC600)"};

还有一个地方也触发了这个崩溃,text 只设置了line-height,没有设置height也会导致这个问题,兄弟们多查查这种代码吧

完美解决

生命不息,代码不止!码农一枚,请多点赞

注:承接各种原生插件开发,uniapp开发,flutter开发,有需私我呦~

相关文章

网友评论

      本文标题:iOS17和nvue兼容问题

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