Framework7 + phonegap +询问相机权限

时间:2017-05-24 12:02:27

标签: cordova permissions camera cordova-plugins html-framework-7

我一直在使用这个插件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>

1 个答案:

答案 0 :(得分:1)

  

如果您重新启动应用,一切正常

这听起来像是iOS 10上CSP权限不足导致问题的可能症状。有关详细信息和完整答案,请参阅this question,但简而言之,请确保您的Content-Security-Policy元标记包含gap://readyfile,例如:

<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'">