Bondy
Bondy
  • 发布:2021-03-02 11:13
  • 更新:2021-05-17 09:18
  • 阅读:764

【报Bug】APP离线打包在IOS13和14上,使用video、live-pusher组件开发的nvue页面,进入时APP卡死、闪退

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 10.15.6

HBuilderX类型: 正式

HBuilderX版本号: 2.3.3

手机系统: iOS

手机系统版本号: IOS 14

手机厂商: 苹果

手机机型: iPhone XR

页面类型: nvue

打包方式: 离线

项目创建方式: HBuilderX

操作步骤:

进入直播页面

预期结果:

点击进入直播页面后正常直播或观看

实际结果:

点击进入直播页面后无响应,APP无反应,点击其他菜单也不能跳转,或直接闪退

bug描述:

该页面为直播功能,使用video、live-pusher组件开发的nvue页面。
使用HBuilderX生成的本地打包APP资源,xcode12.4打包的APP,在IOS13和14上进入直播页面时APP卡死、闪退

直播页面直播组件使用:

<!-- 主播推流 -->  
<live-pusher id='livePusher' ref="livePusher" class="live_pusher" :url="liveData.liveSrc" :mode="mode" :muted="muted"  
:enable-camera="enableCamera" :auto-focus="autoFocus" :beauty="beauty" :whiteness="whiteness" :aspect="aspect"  
@statechange="statechange" @netstatus="netstatus" @error="error" v-if="isAnchor" />  
<!-- 观众拉流 -->  
<video id="myVideo" v-else controls="false" :src="liveData.liveRtmp" :muted="muted" @error="error" @ended="ended"  
autoplay :style="{height: height,width: width}" />

运行报错内容:
libc++abi.dylib: terminating with uncaught exception of type NSException
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'threading violation: expected the main thread'
terminating with uncaught exception of type NSException

网上查询出现的原因及解决方案:在iOS13中,系统对在子线程进行UI操作做了更加严格的检验,如果我们在子线程中更新UI,则会直接因为线程违规而导致Crash。
通过查看自己涉及到线程的代码,确认是否在非主线程中加了更新UI的操作。通常在堆栈信息中我们可以查看到具体出错的函数,找到问题后,只需把更新UI的操作放在主线程中实现即可。

2021-03-02 11:13 负责人:CLP 分享
已邀请:
CLP

CLP

HX运行项目有问题吗? 我们的离线demo运行有问题吗?

l***@foxmail.com

l***@foxmail.com

HX调试运行没问题,Xcode调试运行也没问题。 但是Archive打包后,安装到IOS手机闪退,目前还有找原因,不知道有没有知道的大佬告诉一下。

该问题目前已经被锁定, 无法添加新回复