Trying to access the iOS 11Camera Roll on AIR 28+ results in a blank screen
I have an old app that I was asked to update. The app contains the ability to attach a photo to a form, either via the Camera or Camera Roll. I updated to AIR 28 as part of making sure Apple would even accept it and added in the new permission checks (the last build was in AIR 22). The camera functionality works perfectly and the Camera Roll works on Android, but on iOS the Camera Roll is just blank:

Here is a snippet of code I am using to authorize usage (file usage is requested earlier on):
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);
}
And here is the iPhone node in my 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>
I double checked older builds and they work just fine. I've tested on the latest releases for AIR 27 and 28, plus the AIR 29 beta and they all have the same issue. I am able to replicate it both in debug mode and in an ad hoc distribution package. I see nothing in the Xcode Logs and nothing shows up in the console when debugging either. Anyone how to resolve this? It's the final thing holding this update up from release.
