0

我尝试在 Mac 上使用 NativeProcess 启动程序。

pathEV="/Applications/MyFolder/MyAppOSX.app"
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
var fileEV:File = new File();
fileEV=fileEV.resolvePath(pathEV);
nativeProcessStartupInfo.executable = fileEV;
var process:NativeProcess = new NativeProcess();
process.start(nativeProcessStartupInfo); 

但是出现了这个错误:Error #3214: NativeProcessStartupInfo.executable does not specified an valid executable file

你能帮我解决这个问题吗?谢谢

4

3 回答 3

0

尚未对其进行测试,但我假设您需要将open应用程序的路径作为参数运行,如下所示:

pathEV:String="/Applications/MyFolder/MyAppOSX.app"
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
var fileEV:File = new File();
fileEV=fileEV.resolvePath( '/usr/bin/open' );
nativeProcessStartupInfo.arguments = Vector.<String>([pathEV]);
nativeProcessStartupInfo.executable = fileEV;
var process:NativeProcess = new NativeProcess();
process.start(nativeProcessStartupInfo); 

是的,这绝对需要extendedDesktop权利

仅供参考:Vector shizzle 是正确的,我用它来将数组转换为 Vector,而不是作为构造函数

这是如何.app从终端启动文件的说明

于 2013-05-15T10:50:50.463 回答
0

为什么需要nativeProcess?为什么不直接使用 fileEV.openWithDefaultApplication() ?

于 2013-05-15T12:58:04.390 回答
0

可能是您需要添加<supportedProfiles>extendedDesktop</supportedProfiles>到清单文件中吗?

另外,我相信.app 不是可执行文件。它实际上只是一个应用程序包,其中存在实际的可执行文件。尝试/bin/ls首先指向以确保一切正常,然后在 .app 文件夹中挖掘以找到您的可执行文件。

于 2013-05-15T09:35:11.163 回答