易软
易软
  • 发布:2020-04-16 10:15
  • 更新:2020-04-22 14:50
  • 阅读:1317

2.6.9 打包后覆盖安装APP 缓存丢失

分类:uni-app

之前使用的是2.4.2后面 由于官方要升级了。 所以 升级了编译器 为2.6.9版本。 云打包后 覆盖安装后 uni.setStorageSync存的缓存 直接就丢了 ,之前 升级编译器 都不会出现这个问题 请问这个是一个bug 吗???

2020-04-16 10:15 负责人:无 分享
已邀请:
90后IT男

90后IT男 - 90后IT男

我用plus.storage存储的字符串长度过长时也有丢失的情况。

DCloud_heavensoft

DCloud_heavensoft

Android还是iOS。如果你按报bug模板详情填,就不需要我们来回问了

  • 90后IT男

    是Android,HB2.6.8的版本,你可以直接做个简单的测试,用plus.storage.setItem 存入长度为2000000字符串数据后,再取出来,你发现在是空的,存不进去,2.6.5和之前的版本就没有这个问题。

    2020-04-20 09:41

DCloud_Android_ST

DCloud_Android_ST

请详细描述一下Android还是iOS。appid发下

  • 易软 (作者)

    是 ios _UNI_B03925B

    2020-04-20 11:15

  • CLP

    回复 易软: uni.setStorageSync 在iOS是存储到沙盒里的,不会升级导致丢失的,你怎么确定是升级之后导致的,没有别的什么操作吗? 你是uni.getStorageSync(KEY)没取到数据吗?KEY传入的对吗

    2020-04-20 12:58

  • 易软 (作者)

    回复 CLP:是的 覆盖安装 会出现这个问题 但是 不是所有手机都这样 部分手机又是对的

    2020-04-22 09:29

  • 易软 (作者)

    如果是升级之前的话 就丢失了 是不会触发升级的

    2020-04-22 09:30

  • 易软 (作者)

    我的这边的升级机制 是会通过 这个缓存 来取基础包的版本号 然后通过接口 来获取放在服务器的text文件。文件里面有我写的基础包版本号和wgt更新版本号, 如果基础包版本号一致就不用重新下载基础包进行覆盖安装,只需要下载wgt来热更新。如果编译器升级了 我就会重新云打包基础包,然后在服务器的text文件中修改基础包的版本号,这样来判断是否重新下载基础包进行覆盖安装,如果升级之前缓存就取不到那么就取不到现在的基础包版本号就无法升级

    2020-04-22 09:39

  • CLP

    回复 易软:你升级前用 uni.getStorageSync(KEY)这个API获取到的数据和 升级之后用uni.getStorageSync(KEY)这个API获取到的数据是一样的吗?

    2020-04-22 13:01

  • CLP

    回复 易软: 你丢失的是什么数据,怎么和触发升级有关系? 这个数据是用什么存储的?

    2020-04-22 13:10

  • 易软 (作者)

    回复 CLP: 之前升级之前和之后获取的是一样的 。逻辑是这样的:基础包的 APP.vue中 我使用plus.runtime.getProperty来获取 版本号 并将其uni.setStorageSync("package.client.version", res.version);然后客户下载安装后 进入主页会触发一个接口这个接口会把我的这个版本号与wgt版本号与服务器上我设置的两个版本号来比较(基础包和升级包我是建的两个工程但是APPID都一致,基础包的版本号为2.1.9正常的版本号迭代,升级包的版本号为当前的日期如2020.04.20.1这样)看是下载覆盖安装还是热更新。如果缓存丢失的话这个值就为空值。服务器返回的值就与我用来判断是否升级更新的值不一致这样 我就无法更新

    2020-04-22 14:33

  • 易软 (作者)

    回复 CLP: 你看看 我上传附件了

    2020-04-22 14:46

  • CLP

    回复 易软: 你的意思是现在的版本,覆盖安装之后,uni.getStorageSync(“package.client.version”)这个取出来的是空的,没数据? 那你说的“不是所有手机都这样 部分手机又是对的” 怎么回事?你这样把留给qq号,提供能复现的demo,我测试下看看

    2020-04-22 14:55

  • 易软 (作者)

    回复 CLP: 是没有获取到数据 安卓的手机大部分都没有问题,主要是ios出问题。而且是如果是APP内提示更新基础包的话跳到APP store更新后就掉(之前用的编译器版本为2.4.2,现在升级为2.6.9打的包)。 如果你把app卸载了 重新下 就取得到,而且我升级2.6.9后ios版本为13.3.1 和9的ios都白屏 QQ 429237623

    2020-04-22 15:04

  • 易软 (作者)

    回复 易软: 现在我都是把版本号存服务器了 来绕过这个问题 。现在主要就是白屏的问题 APP 名称 易软云

    2020-04-22 15:10

  • 易软 (作者)

    回复 CLP: 而且白屏的问题是 ios13.3.1在 8 上面白屏 8P不白屏

    2020-04-22 15:30

易软

易软 (作者)

易软

易软 (作者)

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