iOS在app申请权限时,需要app申请过一次后,才可以在设置中找到相应的权限去打开或关闭。请问iOS如何直接通过授权弹窗询问的方式打开授权?
iOS需要获取相机权限,来提供远程视频问题的服务。这个是原生实现的,需要弹出这个授权弹窗。请问uniapp怎么实现呢?还是说需要原生iOS写个插件给uniapp调用?

以下是uniapp调用相机授权的代码
functIon requestCamera() {
return new Promise(async (rel, rej) => {
var platform = uni.getSystemInfoSync().platform;
const appAuthorizeSetting = uni.getAppAuthorizeSetting()
console.log("appAuthorizeSetting", appAuthorizeSetting.cameraAuthorized)
console.info("platform", platform)
if (platform == 'ios') {
if (appAuthorizeSetting.cameraAuthorized == 'not determined') { // 从未授权过
return rel(true)
}
plus.camera.getCamera()
let camera = permision.judgeIosPermission("camera"); //判断ios是否给予摄像头权限
console.log("camera", camera)
if (camera) {
return rel(true);
}
let cmr = plus.camera.getCamera();
plus.nativeUI.confirm(
'请在"设置-应用-隐私"选项中,允许应用访问您的相机', // 消息内容
function(e) {
// 用户点击按钮后的回调函数
// e.index 表示用户点击的按钮索引,从1开始
if (e.index === 1) {
console.log('用户点击了确定按钮');
permision.gotoAppPermissionSetting()
return rel(false);
} else if (e.index === 2) {
// 用户点击了“取消”按钮(假设“取消”按钮是第二个按钮)
console.log('用户点击了取消按钮');
return rel(false);
// 在这里执行取消操作,例如关闭对话框、不清除表单等
}
},
'提示', // 标题
['暂不开启', '马上设置'] // 按钮数组,数组中的字符串表示按钮上的文字
);
}
if (platform == "android") {
let camera = await permision.requestAndroidPermission(
"android.permission.CAMERA"); //判断安卓是否给予摄像头权限
if (camera == 0) {
console.log('请开启摄像头使用权限');
rel(false)
} else if (camera == -1) {
//永久拒绝
rel(false)
} else {
rel(true);
}
}
})
}