uni-app HBuilderX3.98打包IOS App出现闪退及视频组件未渲染问题

发布于 1周前 作者 vueper 来自 Uni-App

uni-app HBuilderX3.98打包IOS App出现闪退及视频组件未渲染问题

信息类别 详情
产品分类 uniapp/App
PC开发环境 Mac
PC版本号 12.1
HBuilderX 正式版
HBuilderX版本号 3.98
手机系统 iOS
手机版本号 iOS 15
手机厂商 苹果
手机机型 苹果11 Pro max
页面类型 nvue
Vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX

操作步骤:

  • 具体查看bug描述

预期结果:

  • 视频组件正常和打开不闪退

实际结果:

  • App闪退和视频组件没渲染

bug描述:

  1. 标准基座配置p12相关证书后运行在 iOS, 多次在打开App,然后清除后台应用,再次打开,多次重复,会出现闪退然后进不去的问题。
  2. 打包iOS正式版(非标准基座),使用的iOS开发证书打包,后运行也会闪退,这个更严重,第一次打开正常,清除后台后,点击App进去则就闪退进不去。
  3. 打包安装后,好像进入的时候,发现视频组件没有渲染?不知道什么原因。标准基座配置p12相关证书后运行的就能看见视频组件

12 回复

清除后台后不要立刻启动应用 稍等一下再启动 重复清除打开闪退 是系统问题 你可以用任意app测试 包括微信支付宝 视频组件没渲染自行排查是不是没勾选相关模块


那打包的IOS,第一次正常,下几次就进不去了是什么原因,闪退。安装包链接在上面

回复 小帅船长: 提供一下appid 通常是UNIxxxx 格式

回复 DCloud_iOS_WZT: UNI521FE01

回复 小帅船长: 我这测试没问题,多次启动都正常打开,你要不录个屏发附件我看下怎么复现

回复 DCloud_iOS_WZT: 是不是没有清理后台,得清理后台,再打开app

回复 DCloud_iOS_WZT: 发视频链接了,我昨天又打了一次IOS包,发现真闪退更严重了,哪个版本HBuilderX正常点,我去试试

回复 DCloud_iOS_WZT: 有问题吗哥,看看啥原因可以吗

回复 小帅船长: 我这测试没问题 需要登录才能复现吗? 你看下私信 发我一下测试账号 我登录试试

回复 DCloud_iOS_WZT: 加了,好像不用登录就会呀,我现在特别容易复现, 我可以在发一个包给你

在使用 uni-app 和 HBuilderX 3.98 打包 iOS App 时,出现闪退和视频组件未渲染的问题,可能由多种原因引起。以下是一些常见的排查和解决方法:


1. 闪退问题排查

  • 日志分析
    • 使用 Xcode 运行 App,查看控制台输出的日志,定位闪退的具体原因。
    • 如果是原生代码崩溃,检查是否有未捕获的异常或内存泄漏。
  • 权限问题
    • 确保在 manifest.json 中正确配置了 iOS 所需的权限(如相机、麦克风、相册等)。
    • Info.plist 中添加必要的权限描述(如 NSCameraUsageDescriptionNSMicrophoneUsageDescription 等)。
  • 原生依赖问题
    • 检查是否有第三方原生插件不兼容当前版本。
    • 更新所有插件到最新版本,或尝试移除插件测试。
  • 内存问题
    • 检查是否有内存泄漏或内存占用过高的情况。
    • 使用 Xcode 的 Instruments 工具分析内存使用情况。

2. 视频组件未渲染问题

  • 组件兼容性
    • 确保使用的视频组件(如 video 或第三方插件)支持 iOS 平台。
    • 检查组件的属性和事件是否正确配置。
  • 视频格式问题
    • iOS 对视频格式有严格要求,确保视频文件格式为 H.264(MP4)。
    • 使用工具(如 FFmpeg)将视频转换为兼容格式。
  • 网络问题
    • 如果视频是远程资源,确保网络请求正常,且视频 URL 可访问。
    • 检查是否有跨域问题(CORS)。
  • 渲染时机问题
    • 确保视频组件在页面加载完成后才进行渲染。
    • 使用 v-ifnextTick 控制组件的渲染时机。
  • 插件问题
    • 如果使用了第三方视频插件,检查插件是否支持当前版本的 uni-app 和 iOS。
    • 尝试使用原生 video 标签测试。

3. 通用解决方案

  • 更新工具和依赖
    • 确保 HBuilderX 和 uni-app 是最新版本。
    • 更新所有插件和依赖库。
  • 清理缓存
    • 在 HBuilderX 中执行 项目 -> 清理项目缓存
    • 删除 unpackagenode_modules 文件夹,重新安装依赖。
  • 重新打包
    • 尝试重新打包 App,确保打包过程中没有错误。
  • 真机调试
    • 使用真机调试,查看问题是否仅在模拟器或特定设备上出现。

4. 进一步调试

  • Xcode 调试
    • 使用 Xcode 打开打包后的项目,查看是否有编译警告或错误。
    • 在 Xcode 中运行 App,查看控制台日志。
  • uni-app 社区
    • 在 uni-app 官方论坛或社区搜索类似问题,查看是否有解决方案。
  • 提交问题
    • 如果问题无法解决,可以在 uni-app 官方 GitHub 或论坛提交问题,提供详细的日志和复现步骤。

5. 示例代码

如果使用的是 video 组件,可以参考以下代码:

<template>
  <view>
    <video
      src="https://www.example.com/video.mp4"
      controls
      autoplay
      style="width: 100%; height: 300px;"
    ></video>
  </view>
</template>
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!