У меня есть приложение adobe AIR, разработанное для устройств iOS, и я использую Adobe Flash Builder 4.7 для создания файла .ipa.Создание приложения iOS с Adobe AIR SDK 24 сбой при попытке использования разрешений
До версии 23 AIR SDK приложение работает нормально. С версией 24 AIR SDK при попытке доступа к устройству камеры был добавлен класс разрешений. И теперь нужно программно обрабатывать разрешения при доступе к камере следующим образом: https://forums.adobe.com/thread/2250328
Я попытался реализации данного примера в моем коде, и в следующем фрагменте кода, у меня есть нулевые ссылки на права доступа следующим образом:
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: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Camera.html, где можно увидеть, что метод allowStatus доступен только для среды выполнения AIR.
Поэтому, как я могу проверить и убедиться, что я отлаживаюсь с использованием среды выполнения AIR, и, в конечном итоге, избежать моего приложения при сбое при запросе разрешения пользователя на камеру.
Я имел проблемы с производительностью Starling + 24 AIR и была родственная нить на Starling форуме (Http: //forum.starling-framew ork.org/topic/air-24-performance-issues), так что это не просто мое воображение. Возможно, AIR 24 - это плохой выпуск во многих отношениях, и вы можете захотеть вернуться в AIR 23 вместо поиска обходных решений. – Organis