ionic 开发中的一些错误
1.打包问题
不要轻易删除package-lock.json文件,指定某个平台的版本。我android指定6.3.0 ,ios4.4.0(4.5.0会和cordova-plugin-console重复,使用4.5.0需要删除cordova-plugin-console插件)。2.npm install
的问题
- node-sass 安装的问题直接自己百度,百度再解决不了就重新git clone新建个项目,再解决不了,我也不知道(linux系统大概率会出现安装失败,好像安装什么
gcc
) - 存在cordova-plugin-video-capture-plus这个插件的时候,
npm install
会报错,先在package.json删掉和这个有关的安装包名字
3.cordova-plugin-photo-library
的错误
安卓暂时没有发现错误,ios在xcode
里面打包的时候会报错,网上的解决方案是在build settings
里面的swift language version
里面更改版本,改完了确实不报错了,但是调用方法的时候会出现未定义的问题。相关解决是找到报错的信息,按照他的提示来修改。我当时是只改了一个函数名。
4. 使用html2canvas
保存图片
这个和上面是结合在一起的,主要是传一个dom给canvas,当时保存图片的时候,有时候成功有时候失败。后来猜估计是dom的问题,估计是复用了,当时因为多个地方需要保存功能,他们的id名字相同(页面不相同),可能使用第二个的时候取了第一个,但是第一个当时已经隐藏了,所以一直保存失败,html2canvas
操作的元素宽高都是0,dataurl
不能parse,所以一直保存失败
5. cordova-plugin-camera-preview
需要自定义相机外层部分区域,选择了这个,但是这个拍照很糊,有部分手机根本不能正常显示内容
,查到的解决方案是是修改CameraPreviewPictureOptions
的width
,height
,我后来改的是设备支持最大的值,但是没有用,还是很糊,这个不知道怎么解决。知道的麻烦告诉我一声。(PS:如果不需要拍完照后把照片显示出来,只需要背地里默默的处理,可以借用截屏,截的图非常的清晰,完美)
6. cordova-plugin-file-opener2
这个问题是针对Android版本的,下载完apk后需要打开安装,android
低于8.0版本的能顺利打开,但是高于这个版本的,不能打开,也不会报错,而是走正常流程,还显示OK
。解决方法在作者github
上,readme
里面有。
7. ios
部分元素需要点击两次才会有反应
在ionic官方文档首页上有一个FAQ
,点进去有一个click delays
按照我的翻译是点击延迟,但是这个我觉得根本就不是延迟,就是没有反应,反正按照这个来修改,可以解决这个问题。
8. ios
时间问题
这个应该不属于ionic,只要是苹果的好像都有问题,苹果不能识别-
时间的字符串,会异常
9. app
正常几天后,再打开app会闪退(强行退出)
xcode
签名处有一个provisioning profile
这个会过期....有效期好像只有七天。这个是只针对免费开发者账号。
总结
遇到问题后,多去GitHub上看,大部分都有解决方案,少部分没有的只能提高自己解决问题的技能了。