uniapp 云打包后IOS白屏,真机调试也是白屏,没有报错!解决办法
App下开启分包,除在pages.json中配置分包规则外,还需要在manifest中设置在app端开启分包设置,详见:https://uniapp.dcloud.io/collocation/manifest?4. 如果是深色背景的页面,加载时背景色出现缓慢,参考:https://uniapp.dcloud.io/performance?在小程序启动时,默认会下载主包并启动主包内页面,当用户进入
uniapp 云打包后IOS白屏,真机调试也是白屏,没有报错!解决办法!
原来用uniapp 写的小程序 然后要翻成app 一开始还是很顺利的,因为安卓端测试 没有什么大问题;但是IOS直接白屏,只能看到tabBar 百度了各种 都没有得到解决,困扰了一天!!
然后第二天突然想到会不会是subPackages 分包机制的问题,然后看了一下官网:
subPackages
分包加载配置,此配置为小程序的分包加载机制。
因小程序有体积和资源加载限制,各家小程序平台提供了分包方式,优化小程序的下载和启动速度。
所谓的主包,即放置默认启动页面/TabBar 页面,以及一些所有分包都需用到公共资源/JS 脚本;而分包则是根据pages.json的配置进行划分。
在小程序启动时,默认会下载主包并启动主包内页面,当用户进入分包内某个页面时,会把对应分包自动下载下来,下载完成后再进行展示。此时终端界面会有等待提示。
App默认为整包。从uni-app 2.7.12+ 开始,也兼容了小程序的分包配置。其目的不用于下载提速,而用于首页是vue时的启动提速。App下开启分包,除在pages.json中配置分包规则外,还需要在manifest中设置在app端开启分包设置,详见:https://uniapp.dcloud.io/collocation/manifest?id=app-vue-optimization
然后在manifest.json 配置
"app-plus": {
"optimization": {
"subPackages": true
},
"runmode" : "liberate" // 开启分包优化后,必须配置资源释放模式
}
1
2
3
4
5
6
果然是需要天时地利,问题解决了~
当然白屏的原因真的挺多种的,我贴一下官网的回复,如果还解决不了,可以参考官方给出的答复:
1. 如果编译器(包括cli版本)、基座(包括自定义基座)不匹配,可能造成白屏。同理wgt升级如果版本不配套也可能白屏;
2. 如果是iOS上拍照或多图压缩预览等导致wkwebview白屏,参考https://ask.dcloud.net.cn/article/35913;
3. 如果是离线打包白屏,1. 注意sdk版本和HBuilderX版本需匹配;2. 注意appid是不是填对了;
4. 如果是深色背景的页面,加载时背景色出现缓慢,参考:https://uniapp.dcloud.io/performance?id=%e4%bc%98%e5%8c%96%e8%83%8c%e6%99%af%e8%89%b2%e9%97%aa%e7%99%bd;
5. 如果h5版没问题,打包app有问题,请先确保你使用HBuilderX的真机运行功能,然后看控制台的日志显示什么。不要跳过真机运行直接打包。
6. 如果是js错误,真机运行肯定能在控制台显示错误。
7. 如果是css错误,开启webview调试,可以在webview调试控制台看css哪里不对。详见:https://ask.dcloud.net.cn/article/69
8. 如果是安卓模拟器,有的模拟器需要在manifest里配x86支持,打自定义基座才能运行。雷电4+版本没问题。详见:https://ask.dcloud.net.cn/article/36195
如果不是上述原因,请在社区按报bug模板详细填报你的信息,提供复现方式
某端正常,其他端异常,参考指南:https://uniapp.dcloud.io/matter
更多推荐
所有评论(0)