一般来说权限可通过 纯js的Native.js来是实现,不需要打包自定义基座。Native.js的详细介绍见Native.js入门
uniapp插件地址:(https://ext.dcloud.net.cn/plugin?id=594)
andrioid权限是直接打开设置列表就能出现,而IOS的权限则是需要你有调用过的才会出现
在ios想要使用某个权限可通过 h5 + 模拟调用来唤醒权限
如:ios中获取摄像头的权限
//(部分代码,修改插件源码)
// 判断相机权限是否开启
function judgeIosPermissionCamera() {
let result = false;
// 利用 h5+ 方法
var AVCaptureDevice = plus.ios.import("AVCaptureDevice");
console.log('AVCaptureDevice', AVCaptureDevice)
var authStatus = AVCaptureDevice.authorizationStatusForMediaType('vide');
console.log("authStatus:" + authStatus);
if (authStatus == 3) {
result = true;
console.log("相机权限已经开启");
} else {
console.log("相机权限没有开启");
// 模拟扫码场景 获取相机权限
barcode = plus.barcode.create('barcode', [plus.barcode.QR], {
top: '100px', //改为-9999px隐藏该页面
left: '0',
width: '100%',
height: '500px',
position: 'static'
});
plus.webview.currentWebview().append(barcode);
//
}
plus.ios.deleteObject(AVCaptureDevice);
return result;
}