Попытка получить доступ к iOS 11Camera Roll на AIR 28+ приводит к пустому экрану

У меня есть старое приложение, которое меня попросили обновить. Приложение содержит возможность прикрепить фотографию к форме, либо с помощью камеры или камеры Roll. Я обновил AIR 28, чтобы убедиться, что Apple даже примет его, и добавил новые проверки прав доступа (последняя сборка была в AIR 22). Функциональность камеры работает отлично, и Camera Roll работает на Android, но на iOS Camera Roll просто пуст:

Вот фрагмент кода, который я использую для авторизации использования (использование файла запрашивалось ранее):

private function launchCamera(e:NativeDialogEvent):void {  
    if ( e.index == "0" ) {  
        if (CameraRoll.supportsBrowseForImage) {  
            if (CameraRoll.permissionStatus != PermissionStatus.GRANTED) {  
                var roll:CameraRoll = new CameraRoll();  
                roll.addEventListener(PermissionEvent.PERMISSION_STATUS, function (e:PermissionEvent):void {  
                    if (e.status == PermissionStatus.GRANTED) {  
                        launchCameraRoll();  
                    } else {  
                        Alerter.showAlert("To use this functionality, you must provide permission to access the Camera Roll");  
                    }  
                });  

                try {  
                    roll.requestPermission();  
                } catch (e:Error) {  
                    // another request is in progress  
                }  
            } else {  
                launchCameraRoll();  
            }  
        }  
    } else if ( e.index == "1" ) {  
        if (CameraUI.isSupported) {  
            if (CameraUI.permissionStatus != PermissionStatus.GRANTED) {  
                var cam:CameraUI = new CameraUI();  
                cam.addEventListener(PermissionEvent.PERMISSION_STATUS, function (e:PermissionEvent):void {  
                    if (e.status == PermissionStatus.GRANTED) {  
                        launchCameraUI();  
                    } else {  
                        Alerter.showAlert("To use this functionality, you must provide permission to access the Camera");  
                    }  
                });  

                try {  
                    cam.requestPermission();  
                } catch (e:Error) {  
                    // another request is in progress  
                }  
            } else {  
                launchCameraUI();  
            }  
        }  
    }  
}  


/** 
 * Launches the camera roll. Meant to be called after permissions are requested 
 */  
private function launchCameraRoll():void {  
    var roll:CameraRoll = new CameraRoll();  
    roll.addEventListener(MediaEvent.SELECT, this.camCompleteHandler);  
    roll.browseForImage();  
}  


private function launchCameraUI():void {  
    var cam:CameraUI = new CameraUI();  
    cam.addEventListener(MediaEvent.COMPLETE, this.camCompleteHandler);  
    cam.launch(MediaType.IMAGE);  
}  

А вот узел iPhone в моем app.xml:

    <iPhone>  
        <InfoAdditions><![CDATA[ 
<key>UIDeviceFamily</key> 
<array> 
<string>1</string> 
</array> 
<key>NSAppTransportSecurity</key> 
<dict> 
  <key>NSAllowsArbitraryLoads</key> 
  <true/> 
</dict> 
            <key>NSPhotoLibraryAddUsageDescription</key> 
                <string>Used for selecting Photos from your device to include in Service submissions.</string> 
            <key>NSPhotoLibraryUsageDescription</key> 
                <string>Used for selecting Photos from your device to include in Service submissions.</string> 
            <key>NSCameraUsageDescription</key> 
                <string>Used for taking new photos to include in Service submissions.</string> 
]]></InfoAdditions>  
        <requestedDisplayResolution>high</requestedDisplayResolution>  
    </iPhone>  

Я дважды проверил старые сборки, и они работают просто отлично. Я протестировал последние версии AIR 27 и 28, а также бета-версию AIR 29, и все они имеют одинаковую проблему. Я могу скопировать его как в режиме отладки, так и в специальном дистрибутивном пакете. Я ничего не вижу в журналах XCode и ничего не отображается в консоли при отладке либо. Кто-нибудь, как решить эту проблему? Это последняя вещь, держащая это обновление от выпуска.

0 ответов

Другие вопросы по тегам