iOS老版本应用在uni-app中打开之后热更新下载至热更最新版本再打开应用通过AppStore应用商店下载至最新版本APP卡死在启动页

iOS老版本应用在uni-app中打开之后热更新下载至热更最新版本再打开应用通过AppStore应用商店下载至最新版本APP卡死在启动页

示例代码:

"splashscreen" : {
"alwaysShowBeforeRender" : false,
"waiting" : true,
"autoclose" : false,
"delay" : 0
},

操作步骤:

老版本应用, 打开之后,热更新下载至热更最新版本,再打开应用通过AppStore应用商店下载至最新版本,APP卡死在启动页。

预期结果:

老版本应用, 打开之后,热更新下载至热更最新版本,再打开应用通过AppStore应用商店下载至最新版本,APP正常访问

实际结果:

老版本应用, 打开之后,热更新下载至热更最新版本,再打开应用通过AppStore应用商店下载至最新版本,APP卡死在启动页。详见附件

bug描述:

背景:iOS应用一直在HbuilderX 4,36打热更新包并多个版本,多个版本热更新无异常。近期由于appStore iOS sdk 18上架要求,升级至HbuilderX4.66。HbuilderX 4.66打整包上架AppStore审核通过,问题如下: 1、已安装iOS应用最新热更新版本用户,再从AppStore更新整包,第2次打开APP会卡在启动页,杀掉后台重新打开也是卡再启动页, 2、卸载后重新到AppStore下载安装能够正常使用

重新使用HbuilderX 4.36打整包,在ADHOC模式下,情况同上依然卡在loading页。


| 开发环境               | 版本号   | 项目创建方式 |
|------------------------|----------|--------------|
| PC开发环境操作系统     | Windows  |              |
| PC开发环境操作系统版本 | 10       |              |
| HBuilderX类型          | 正式     |              |
| HBuilderX版本号        | 4.66     |              |
| 手机系统               | iOS      |              |
| 手机系统版本           | iOS 16   |              |
| 手机厂商               | 苹果     |              |
| 手机机型               | iphone各系列 |          |
| 页面类型               | vue      |              |
| vue版本                | vue2     |              |
| 打包方式               | 云端     |              |
| 项目创建方式           | HBuilderX|              |

更多关于iOS老版本应用在uni-app中打开之后热更新下载至热更最新版本再打开应用通过AppStore应用商店下载至最新版本APP卡死在启动页的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

autoclose" : false 这个之前也是设置的false 吗 另外appid提供一下

更多关于iOS老版本应用在uni-app中打开之后热更新下载至热更最新版本再打开应用通过AppStore应用商店下载至最新版本APP卡死在启动页的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这个问题是由于热更新版本与AppStore整包版本间的启动流程冲突导致的。在iOS环境下,当应用从热更新版本切换到AppStore整包版本时,启动页配置和资源加载可能出现异常。

从你提供的splashscreen配置来看:

  • "autoclose": false 意味着启动页不会自动关闭
  • "alwaysShowBeforeRender": false"waiting": true 的组合可能导致启动页等待逻辑出现问题

解决方案:

  1. 检查热更新与整包的版本兼容性:确保热更新版本与AppStore整包版本在启动流程上完全兼容,特别是splashscreen的配置应该保持一致。

  2. 调整splashscreen配置:建议将配置改为:

"splashscreen" : {
    "alwaysShowBeforeRender" : true,
    "autoclose" : true,
    "delay" : 0
}
回到顶部