我已经使用这个插件https://github.com/dpa99c/cordova-diagnostic-plugin很长时间了,而且工作很好。现在我正在使用framework7,这太棒了。我有这样的代码来要求相机的许可,这很好
onDeviceReady: function() {
cordova.plugins.diagnostic.requestCameraAuthorization(
function(status){
console.log("Authorization request for camera use was " + (status == cordova.plugins.diagnostic.permissionStatus.GRANTED ? "granted" : "denied"));
if (myApp.device.ios) {
cordova.plugins.diagnostic.isCameraRollAuthorized(function(authorized){
if (!authorized) {
cordova.plugins.diagnostic.requestCameraRollAuthorization(function(granted){
}, function(error){
console.log("Authorization request for camera roll has error " + error.code + " - "+ err.msg);
});
}
});
}
}, function(error){
console.error("The following error occurred: "+error);
}, false
); 但是在允许相机拍照后,我的应用程序就会冻结,我可以在输入框上写字,但是当我点击任何按钮/链接时,什么都不会发生。我没有控制台错误,它只发生在iOS上。如果您重新启动应用程序,一切正常。我也尝试添加这个插件:
<gap:plugin name="cordova-plugin-ios-camera-permissions" source="npm" >
<variable name="CAMERA_USAGE_DESCRIPTION" value="La aplicacion requiere el permiso para tomar fotografias." />
<variable name="PHOTOLIBRARY_USAGE_DESCRIPTION" value="La aplicacion requiere el permiso para acceder a la lista de fotografias." />
</gap:plugin>发布于 2017-05-27 09:39:18
如果您重新启动应用程序,一切都正常。
这听起来像是iOS 10上CSP权限不足所导致的问题的一个可能症状。有关详细信息和完整答案,请参见this question,但简单地说,确保Content-Security-Policy元标记包含gap://ready和file,例如:
<meta http-equiv="Content-Security-Policy" content="default-src * gap://ready file:; style-src fonts.googleapis.com 'self' 'unsafe-inline'; img-src framework7.io 'self' data:; script-src * 'unsafe-inline' 'unsafe-eval'">https://stackoverflow.com/questions/44157879
复制相似问题