摘要相信大家在使用uniapp开发app时总会遇到 uni.scanCode扫码精度低的问题,对于这个我们目前较好的解决方案就是使用支付宝原生扫码组件,它拥有优秀且强大的识别能力和识别速度,对弱光、反光、模糊的二维码也具有优秀的识别能力重点是它免费!!!
一、mPaaS 扫码组件
对于这个插件的使用论坛上也有比较全面的帖子我就不多说,以下会附上我个人认为比较详细的链接地址让大家查看
1.比较早期时我们使用这个组件是采用下载安装包的方式放到本地使用
链接地址:https://blog.youkuaiyun.com/qq_24956515/article/details/143143261
2.现在我们更多的是使用云端插件的方式进行接入,好处是更方便而且在打ios包时不会因为体积原因另外花钱
以上两位的博客都算是相当详细的了,大家可以自行参考。
接下来我会补充一些上面两位没有写到,也是大家更为关心的部分,使用云端插件打包ios的问题。
二、解决云端插件打包ios问题
相信大家按照第二位博主的文章打包iOS会遇到一下问题
这个问题提示已经给的很清楚了就是没有mPaaS Config文件导致的,这个文件就是在创建 mPaaS 应用里下载的ios配置文件,我们项目中缺少这个文件
解决方案一
现在我们查看我们的manifest.json
红色部分就是接入云端插件的配置项,首先确认黄色部分是否已经填入Config配置文件内对应的参数,接下来我们把配置项的写到项目文件下,并且把iOS的Config配置文件改名成meta.config,我们在新建的配置项文件夹下再建一个ios文件夹,然后将meta.config放到ios文件夹下面
就像这样,注意nativePlugins文件夹一定是在文件根目录下。
解决方案二(仅思路不可直接使用)
"nativePlugins" : {
"Mpaas-Scan" : {
在这里面进行手动配置iOS部分
"yourPluginName": {
"ios": "YourPluginName",
"android": "com.example.yourapp.plugin.YourPluginName",
"www": "./static/plugins/your-plugin-name/www/YourPluginName.js",
"properties": {
"YourProperty": {
"type": "String",
"value": "defaultValue"
}
},
"version": "1.0.0"
}
}
}
在上面的代码中需要替换YourPluginName
和YourProperty
为你的云插件的实际名称和属性。
这个方法只是我个人的解决思路,因为没有实践所以仅作参考(如果有人能完善这个思路请一定告知)