2017-01-17 14 views
0

У меня есть приложение 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, и, в конечном итоге, избежать моего приложения при сбое при запросе разрешения пользователя на камеру.

+0

Я имел проблемы с производительностью Starling + 24 AIR и была родственная нить на Starling форуме (Http: //forum.starling-framew ork.org/topic/air-24-performance-issues), так что это не просто мое воображение. Возможно, AIR 24 - это плохой выпуск во многих отношениях, и вы можете захотеть вернуться в AIR 23 вместо поиска обходных решений. – Organis

ответ

1

Возможно, это? https://forums.adobe.com/thread/2264992

Просьба включить ключи какао под тэгом в app.xml Для примера, если вы пытаетесь получить доступ к камере в вашем приложении, вам необходимо включить ниже тег под NSCameraUsageDescription «Some Text»
Пожалуйста, обратитесь к ссылке ниже для получения подробной информации о ключах какао: Cocoa Keys