有个需求需要预先 获取 相机权限,想通过 plus.ios.invoke 实现,但是没效果。
plus.ios.invoke(AVCaptureDevice, 'requestAccessForMediaType:completionHandler:', 'AVMediaTypeVideo', null)
执行官方文档中的 demo 也没有任何反应
// 导入UIAlertView类
let UIAlertView = plus.ios.importClass('UIAlertView')
// 创建UIAlertView类的实例对象
let view = new UIAlertView()
// 设置提示对话上的内容
view.initWithTitlemessagedelegatecancelButtonTitleotherButtonTitles(
'自定义标题', // 提示框标题
'使用NJS的原生弹出框,可自定义弹出框的标题、按钮', // 提示框上显示的内容
null, // 操作提示框后的通知代理对象,暂不设置
'确定(或者其他字符)', // 提示框上取消按钮的文字
null
) // 提示框上其它按钮的文字,设置为null表示不显示
// 调用show方法显示提示对话框,在JS中使用()语法调用对象的方法
view.show()
https://www.html5plus.org/doc/zh_cn/ios.html#plus.ios.invoke 下面这个写法也不行
// 扩展API加载完毕,现在可以正常调用扩展API
// 创建UIAlertView类的实例对象
var view = plus.ios.newObject("UIAlertView");
// 设置提示对话上的内容,这里的方法名称中必须包含':'字符
plus.ios.invoke(view,"initWithTitle:message:delegate:cancelButtonTitle:otherButtonTitles:"
, "自定义标题" // 提示框标题
, "使用NJS的原生弹出框,可自定义弹出框的标题、按钮" // 提示框上显示的内容
, null // 操作提示框后的通知代理对象,暂不设置
, "确定(或者其他字符)" // 提示框上取消按钮的文字
, null ); // 提示框上其它按钮的文字,设置为null表示不显示
// 调用show方法显示提示对话框,在JS中使用()语法调用对象的方法
plus.ios.invoke(view,"show");
6 个回复
FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866
原生插件,有需要,可以看下:https://ext.dcloud.net.cn/plugin?id=8676
天生DR - 天生我材必有用
如果是uni项目 可以用这个API https://uniapp.dcloud.net.cn/api/system/getappauthorizesetting.html
cameraAuthorized
alpha_deer (作者)
非常感谢您的回复。不过您提供的链接 只能获取 App 的权限状态,无法给 App 向iOS系统申请权限。由于iOS系统特性,App 必须申请过一次权限,App 设置列表里面才会出现对应的权限选项。所以想实现跟iOS原生一样,可以调用代码 预先申请一次权限,
2022-11-09 10:00
2***@qq.com
楼主请问解决了吗
中午吃啥
楼主请问解决了吗
9***@qq.com
套马杆的套子 - 没有解决不了的问题,只有解决不完的问题
参考下
https://ext.dcloud.net.cn/plugin?id=594