我正在尝试在使用Electron编写的应用中嵌入用Swift编写的 Finder Sync扩展。我怎样才能让他们一起工作并相互沟通?我已经阅读了Apple documentation,但它只解释了如何将目标添加到本机应用程序。我还注意到我可以使用electron builder手动将.appex
编译文件(由XCode生成)注入应用程序Plugins
文件夹中。
如何在XCode中开发和测试扩展并将其正确嵌入到自定义Electron应用程序中?
有什么建议吗?
非常感谢您的任何建议
答案 0 :(得分:1)
在Electron根文件夹中创建 PlugIns 文件夹。
将 .appex 文件复制到PlugIns文件夹中。
如果您使用的是电子制作工具,请修改 package.json 文件 - 添加:
" mac"中的"extraFiles": ["PlugIns/"]
部分。
构建。您的应用包的目录将包含PlugIns文件夹和您的appex文件,并且appex将加载到您应用的流程中。
答案 1 :(得分:0)
如何在电子应用中嵌入mac app扩展程序?
我会把它编译成一个独立的二进制文件并将其包含在某个目录中,以便使用child_process.execFile从电子应用程序执行
使用execFile执行二进制文件时可以使用参数,这是一个示例(使用promise)
const util = require('util');
const execFile = util.promisify(require('child_process').execFile);
async function FinderSyncExtPlugin(ARGUMENTS) {
const { stdout } = await execFile('YourBinary', ARGUMENTS);
console.log(stdout);
}
FinderSyncExtPlugin(['argument1','argument2','...']);
然后,您可以使用stdout来了解所请求操作的状态/结果。