iOSデバイス用に開発されたAdobe AIRアプリケーションがあり、Adobe Flash Builder 4.7を使用して.ipaファイルを作成しています。Adobe AIR SDK 24でiOSアプリケーションをビルドすると、アクセス権を使用しようとするとクラッシュする
AIR SDKのバージョン23までは、アプリが正常に動作していました。 AIR SDKのバージョン24では、デバイスカメラにアクセスするときにPermissionsクラスが追加されました。 https://forums.adobe.com/thread/2250328
を、私は私のコードベースで与えられた例を実装しようとしている、と次のように次のスニペットでは、私が許可にはnull参照を持っている:
そして今、一つは、プログラムで次のようにカメラにアクセスする際の権限を処理する必要があります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がAIR SDKの代わりにflex sdkを使用しているため、デバイスのデバッグ時にSDKのドキュメントに記載されている前述のプロパティ/メソッドを使用できなくすることです。http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Camera.html permissionStatusメソッドAIRランタイムでのみ使用できます。
したがって、AIRランタイムを使用してデバッグしていることを確認して、最終的にユーザーにカメラ権限を要求するときにクラッシュすることを避けるにはどうすればよいですか。
私はスターリング+ AIR 24でパフォーマンスの問題を持っていたし、スターリングフォーラムの関連スレッドがあった(のhttp://forum.starling-framew ork.org/topic/air-24-performance-issues)ので、私の想像力だけではありません。 AIR 24は多くの点で悪質なリリースであり、回避策を探す代わりにAIR 23に戻すことができます。 – Organis