API NativeProcess для Flex 4 и AIR 2:Не удалось запустить NativeProcess
Вопрос
Я пытаюсь создать приложение, используя новый API NativeProcess от AIR 2, основанный на небольшом видео Брента:
http://tv.adobe.com/watch/adc-presents/preview-command-line-integration-in-adobe-air-2
но у меня возникают некоторые проблемы, а именно я получаю сообщение об ошибке каждый раз, когда пытаюсь запустить свой процесс.
Я использую OS X 10.5.8, и я хочу запустить diskutil и получить список всех подключенных томов.
Вот код, который я пытаюсь использовать:
private function unmountVolume():void
{
if(!this.deviceMounted){ return; }
// OS X
if (Capabilities.os.indexOf("Mac") == 0){
diskutil = new NativeProcess();
// TODO: should really add event listeners
// in case of error
diskutil.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onDiskutilOut);
var startupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
startupInfo.executable = new File('/usr/sbin/diskutil');
var args:Vector.<String> = new Vector.<String>();
args.push("list");
//args.push(this.currentVolumeNativePath);
startupInfo.arguments = args;
diskutil.start(startupInfo);
}
}
который кажется довольно простым и был основан на его примере grep.
Есть какие-нибудь идеи о том, что я делаю не так?
Решение
Проблема заключалась в том, что следующая строка не была добавлена в мой дескриптор:
<supportedProfiles>extendedDesktop</supportedProfiles>
Это действительно должно быть лучше задокументировано :) Об этом не упоминалось в видео.