在Electron应用程序中双击打开文件时,Argv [1]返回意外值

时间:2018-06-19 18:59:56

标签: javascript electron

我正在尝试双击打开文件。正在使用电子打包程序为Mac App Store构建该文件。

我已经进行了一些设置,以便在双击文件时打开我的电子应用程序,但是双击文件的文件名不会在命令行参数中传递给应用程序。

为argv [0]返回的数据是应用程序路径(如预期的那样),而对于argv [1]返回的数据类似于-psn_0_857362。我对argv [1]的印象是所要文件的路径,这就是我想要的。

我正在使用的代码(在main.js中)的简化版本是:

ipcMain.on(
'getOpenFile',
function( e ) {

    let data = null;

    if ( process.argv.length >= 2 ) {
        data = process.argv[1];
    }

    e.returnValue = data;

}
);

为什么不显示路径?在Mac App Store中这是不可能的吗?还是我需要做一些其他事情才能使其按预期工作?

1 个答案:

答案 0 :(得分:2)

在macOS上,您可能必须从主进程监听app事件open-file

   {
      "Version":"2012-10-17",
      "Statement":[
        {
          "Effect":"Allow",
          "Action":["s3:GetObject"],
          "Resource":["arn:aws:s3:::examplebucket/*"]
        }
      ]
    }