uni-app vue3版本 IOS下uni小程序SDK集成wgt包启动白屏问题 manifest.json改成vue2打出来的wgt包则正常

uni-app vue3版本 IOS下uni小程序SDK集成wgt包启动白屏问题 manifest.json改成vue2打出来的wgt包则正常

示例代码:

见附件

操作步骤:

  • 发行-原生APP-制作应用wgt包(vue3)
  • 复制到Apps下
  • 运行-打开小程序1

预期结果:

集成sdk进app(HelloUniMPDemo)打开小程序之后正常显示

实际结果:

白屏

bug描述:

如标题 同一个项目 选vue3打出来的wgt包集成app sdk后打开就会白屏 vue2就不会
mac os版本 12.3.1
xcode版本13.3.1
小程序sdk版本 3.3.13
hbuilderx版本3.4.7

模拟器 为ios15.4 iphone13 pro

ios项目用的是sdk里的HelloUniMPDemo
附件是uni app项目 使用hbuilderx新建的 hello uni-app模板项目 自己删掉了一些文件 留下了最基本的一些页面

1 回复

uni-app 的 Vue3 版本中,集成 uni小程序SDK 并加载 wgt 包时,可能会遇到 iOS 下启动白屏的问题。根据你的描述,如果将 manifest.json 中的配置改为 Vue2 版本,打出来的 wgt 包则正常。这表明问题可能与 Vue3 的兼容性或配置有关。

以下是一些可能的原因和解决方案:


1. Vue3 兼容性问题

  • 原因uni小程序SDK 可能对 Vue3 的支持不够完善,导致在 iOS 下运行时出现白屏。
  • 解决方案
    • 确保你使用的 uni小程序SDK 版本支持 Vue3。
    • 检查 uni-appuni小程序SDK 的官方文档,确认是否有关于 Vue3 的兼容性说明。
    • 如果官方尚未完全支持 Vue3,可以暂时使用 Vue2 版本进行开发。

2. manifest.json 配置问题

  • 原因manifest.json 中的某些配置可能与 Vue3 不兼容,导致 iOS 下白屏。
  • 解决方案
    • 检查 manifest.json 中的 vueVersion 配置,确保其值为 3(Vue3)或 2(Vue2)。
    • 如果使用 Vue3,确保其他配置项(如 app-plush5 等)与 Vue3 兼容。
    • 对比 Vue2 和 Vue3 的 manifest.json 配置,找出可能导致问题的差异。

3. iOS 环境问题

  • 原因:iOS 环境下可能存在某些限制或兼容性问题,导致 Vue3 无法正常运行。
  • 解决方案
    • 确保 iOS 设备的系统版本支持 Vue3。
    • 检查 wgt 包的构建配置,确保其针对 iOS 进行了优化。
    • 在 iOS 真机上调试,查看控制台日志,找出具体的错误信息。

4. wgt 包构建问题

  • 原因:在构建 wgt 包时,可能未正确处理 Vue3 的相关依赖或配置。
  • 解决方案
    • 确保构建 wgt 包时使用的是最新版本的 uni-appuni小程序SDK
    • 清理项目缓存后重新构建 wgt 包,命令如下:
      npm run clean
      npm run build
    • 检查 wgt 包的内容,确保所有依赖文件(如 main.jsApp.vue 等)都正确打包。

5. 调试与日志

  • 原因:白屏问题可能是由于运行时错误导致的,但未捕获或显示。
  • 解决方案
    • App.vue 中添加全局错误捕获代码,记录错误信息:
      onErrorCaptured((err) => {
        console.error('Global Error:', err);
        return false;
      });
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!