难顶,一个Java工程师被迫同时干了前后端
背景
公司的APP是使用uniapp+HbuilderX开发的,没有发布到AppStroe里,是使用证书,用户扫码下载的。
发布方式
1.使用证书APP云打包,打出ipa和apk包,用户扫码从浏览器下载,ios用户下载后需要在设置里信任此软件。
2.使用wgt包升级,这个是升级用的,配合程序里的update.js,可以在登录页面自动检测版本,在线升级。
坑一:wgt包升级后,APP闪退
问题原因:我推测这是因为本次更新代码改动较多,引入的东西也太多,有些东西打不到wgt包里面,出现了依赖缺失报错导致闪退。
解决办法:重新打ipa和apk包放在服务器上发布,让用户重新扫码下载,自此以后的版本就可以继续用wgt包升级了。
坑二:云打包免费次数有限
APP云打包是有免费次数的!!!而且HbuilderX界面上没有提示或者不显眼我没看到,这个一定要注意,珍惜打包次数,应该是5次。
不过比较人性化的一点是我达到次数之后他还让我打了一次。
坑三:IOS真机运行不可用
HbuilderX从昨天也就是9月15号我发工资的日子,突然不能在IOS上真机运行了(不过这个好像是苹果给他禁止了,不是hbuilderX的原因)
当时的情况是,我整疯狂赶项目进度呢,他啪一手突然不能用了,这太没有安全感了,贴一下官方说明图。
解决办法:安装自定义基座,然后效果我感觉和真机基座差不多,也可以修改代码热加载。
坑四:内置浏览器session失效
升级到最新的3.6.2之后,用内置浏览器出现session失效的情况,就导致我不论用什么功能,都会被后台接口的用户未登录校验给拦截下来,因为session没有存。
无奈只能用回之前的3.4.15版本,可以正常运行。
坑五:同一套代码,Android和IOS运行不一样
这里的不一样是指一个页面,样式或者JS功能都有可能不一样,CSS样式经常不一样,Vue代码只有少数情况会出现不一样。
这个坑都懒得说了,因为太经常出现了。但是这个问题还是很恐怖的《同一套代码运行结果不一样》
所以兄弟们,一定要用安卓和ios都真机运行一下再发版。
坑六:你打开哪个代码,就自动跳转哪个页面
使用内置浏览器运行,你打开哪个代码,浏览器就自动跳转哪个页面,这特么也太反人类了;
在浏览器顶部有一把小锁,点了之后就不会自动跳转了;
重点是官方文档里居然没有!这种东西如果自己没发现那个小锁,开发起来太折磨了;
应该默认不跳转,如果我需要跳转自己去开吧,对于一个写后端的人太不友好了。
坑七:自带的u-input有bug
u-input有个最小高度且不可设置,我运行到浏览器看到的是35px,不知道是不是动态的,而且手动更改css样式也改不掉,这就导致在实现某些小输入框的时候高度会有问题
u-input在使用@input时会有bug,具体表现为,我想让一个输入框通过正则校验,如果没通过就把v-model绑定的值清空,偶发v-model的值清空了,页面上没变,this.$forceUpdate也不行