问题描述:
我们在开发小程序时遇到了授权使用麦克风的困难。
开发环境
JavaScript + 微信开发者工具
库: 2.0.4
测试信息
微信 6.7.2
目前主要触发问题的测试设备: iPhone 7 Plus, IOS 11.4.1 及其他IOS 11+ 设备
现在,我们已经成功的在用户第一次使用小程序时, 显示出授权使用相机和麦克风的弹窗 Allow WeChat to access your camera and microphone on Settings-privacy on your iPhone,但是点击确认后用户无法进入我们的小程序。 之后我们可以在设置-隐私-照相机中找到微信, 但是在设置-隐私-麦克风中却找不到。
我们又找了另外一个只用授权麦克风的小程序进行测试,通过这个程序可以成功的授权使用麦克风, 并且也在设置-隐私-麦克风的界面下找到了微信。授权麦克风后,我们也可以正常使用我们自己的小程序了。
所以我们猜测,在一开始无法使用小程序是因为对麦克风的授权失败。
这是我们目前使用的代码片段处理授权功能:
authorize() {
var that = this;
wx.getSetting({
success(res) {
if (!res.authSetting[‘scope.camera’]) {
wx.authorize({
scope: ‘scope.camera’,
success() {
if (!res.authSetting[‘scope.writePhotosAlbum’]) {
wx.authorize({
scope: ‘scope.writePhotosAlbum’,
success() {
that.setData({ permissionsChecked: true, hasPermissions: true });
},
fail() {
that.setData({ permissionsChecked: true, hasPermissions: false });
}
})
}
},
fail(){
that.setData({ permissionsChecked: true, hasPermissions: false });
}
})
}
}
})
},
综述,我们目前:
没有找到合适的方法授权麦克风
没办法在授权麦克风失败后让用户直接进入照相界面
请问有什么比较好的方式能够帮助我们解决这两个问题?
这个问题就是微信的bug,他们的camera组件有问题,绑定了摄像模式,导致必须要拍照和麦克风的权限。官方反馈上去修复一下吧,影响众多。
camera组件增加mode的photo,或者鉴权别调用mic就好了
你好,请提供出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。