Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Adobe AIR SDK 24构建的iOS应用程序在尝试使用权限时崩溃_Ios_Actionscript 3_Flash_Apache Flex_Air - Fatal编程技术网

使用Adobe AIR SDK 24构建的iOS应用程序在尝试使用权限时崩溃

使用Adobe AIR SDK 24构建的iOS应用程序在尝试使用权限时崩溃,ios,actionscript-3,flash,apache-flex,air,Ios,Actionscript 3,Flash,Apache Flex,Air,我有一个为iOS设备开发的AdobeAIR应用程序,我使用AdobeFlashBuilder4.7创建.ipa文件 在AIR SDK的23版之前,该应用程序运行良好。在AIR SDK版本24中,尝试访问设备摄像头时添加了权限类。现在,在访问相机时,应按如下方式以编程方式处理权限: 我已尝试在我的代码库中实现给定的示例,在以下代码段中,我对权限的引用为空,如下所示: private function connect():void { if (Camera.perm

我有一个为iOS设备开发的AdobeAIR应用程序,我使用AdobeFlashBuilder4.7创建.ipa文件

在AIR SDK的23版之前,该应用程序运行良好。在AIR SDK版本24中,尝试访问设备摄像头时添加了权限类。现在,在访问相机时,应按如下方式以编程方式处理权限:

我已尝试在我的代码库中实现给定的示例,在以下代码段中,我对权限的引用为空,如下所示:

   private function connect():void {      
        if (Camera.permissionStatus/*permissionStatus is null*/ != PermissionStatus.GRANTED)
        {       
                  cam.addEventListener(PermissionEvent.PERMISSION_STATUS,
                    function(e:PermissionEvent):void {
                        if (e.status == PermissionStatus.GRANTED) {
                            connectCamera();
                        } else {
                            // permission denied
                        }
                    });

                try {
                    cam.requestPermission(); // **when calling this one my app crashes**
                } catch(e:Error) {
                    // another request is in progress
                }
         } else {
              connectCamera();
         }
    }

    private function connectCamera():void
    {
        video = new Video(640, 480);
        video.attachCamera(cam);
        addChild(video);
    }
我的直觉是,在设备上调试时,Flash Builder使用的是flex sdk而不是AIR sdk,这使得上述属性/方法不可用,如sdk文档中所述:其中可以看到permissionStatus方法仅适用于AIR运行时

因此,我如何检查并确保我正在使用AIR运行时进行调试,并最终避免我的应用程序在向用户请求摄像头权限时崩溃。

可能是这样?

请在app.xml中的标签下包含可可密钥,以便 例如,如果您试图访问应用程序中的摄像头, 您需要在下面的标签中包含 NSCamerauseDescription“一些文本”
有关cocoa密钥的详细信息,请参阅以下链接:


我在Starling+AIR 24上遇到了性能问题,在Starling论坛()上有一个相关的帖子,所以这不仅仅是我的想象。AIR24在许多方面都可能是一个糟糕的版本,您可能希望恢复到AIR23,而不是寻找解决方法。