使用Adobe AIR SDK 24构建的iOS应用程序在尝试使用权限时崩溃
我有一个为iOS设备开发的AdobeAIR应用程序,我使用AdobeFlashBuilder4.7创建.ipa文件 在AIR SDK的23版之前,该应用程序运行良好。在AIR SDK版本24中,尝试访问设备摄像头时添加了权限类。现在,在访问相机时,应按如下方式以编程方式处理权限: 我已尝试在我的代码库中实现给定的示例,在以下代码段中,我对权限的引用为空,如下所示:使用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
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,而不是寻找解决方法。