API FLEX 4 & AIR 2 NativeProcess: O NativeProcess não pôde ser iniciado
Pergunta
Estou tentando construir um aplicativo usando a nova API do Air 2's Nativeprocess que vai do pequeno vídeo de Brent:
http://tv.adobe.com/watch/adc-presents/preview-command-line-integation-in-adobe-air-2
Mas estou tendo alguns problemas, a saber, recebo um erro toda vez que tento iniciar meu processo.
Estou executando o OS X 10.5.8 e quero executar o Diskutil e obter uma lista de todos os volumes montados.
Aqui está o código que estou tentando:
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);
}
}
O que parece bastante direto e foi baseado em seu exemplo de grep.
Alguma idéia do que estou fazendo de errado?
Solução
A questão era que a linha a seguir não foi adicionada ao meu descritor:
<supportedProfiles>extendedDesktop</supportedProfiles>
Isso realmente deve ser melhor documentado :) Não foi mencionado no vídeo.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow