用官方的方法实现热更新,ios上面热更新成功后restart 重启了 但是重启后会遇到js调原生方法 调不到的情况,而且log也不会打印了 但是整个流程安卓没有问题 求助大神。
调用时机的问题,延迟调用下试试。或者restart前把需要js调用的结果用localstorage存上,restart后读localstorage
都试了一下 好像还是不行啊 大神能否贴出 你 restart 的地方
你的restart后js调用原生是干啥的,处理了什么必要的逻辑?
restart 后 其实是重新走登录流程 手动点击微信登录 授权成功后会调原生的一个获取位置的方法
调原生的登录方法没问题 调原生获取位置方法就调不到 奇怪的是如果不走热更新 就一切正常
restart前已经走过一次这个流程了吧,可以在restart前在localstorage记录个标记,这次restart是因为热更新,如果有这个标记就不用重复走这个流程了,restart后再把这个标记清除掉。我的应用大致就是这么做的,热更新restart后有些场景就略过了,直接进入restart前想进入的场景
restart 前应该是没走 项目启动是loading页 检查更新然后走热更新 更新完restart其实是到了登录页面 应该说是没有重复走这个流程 1点击登录->2原生微信授权->3返回js接收->4js调原生获取定位方法 123步都没问题 但是正常的log已经不打印了 4就一直调不到
可不可以调整逻辑,让这个热更新代码在登录后再检查更新呢?
您的意思是登录后 再更新 那更新后是否还执行restart呢 如果还执行 那问题还是存在的
如果登录过了,就不用重复登录了吧。也可通过localstorage存储的标记识别出这个是热更新restart,然后略过登录的场景,直接进入主场景